From f09c83640b9173552fd9277c3a48619b903fa436 Mon Sep 17 00:00:00 2001
From: "Reece H. Dunn" <msclrhd@gmail.com>
Date: Wed, 20 Jan 2016 20:48:29 +0000
Subject: [PATCH] Fix GCC -Wnarrowing warnings.

---
 src/tr_languages.cpp | 7 ++++---
 src/translate.h    | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

Index: espeak-1.48.04-source/src/tr_languages.cpp
===================================================================
--- espeak-1.48.04-source.orig/src/tr_languages.cpp
+++ espeak-1.48.04-source/src/tr_languages.cpp
@@ -198,8 +198,8 @@ static const unsigned short chars_ignore
 	0x200d,  1, // zero width joiner
 	0, 0 };
 
-const char string_ordinal[] = {0xc2,0xba,0};  // masculine ordinal character, UTF-8
-
+const unsigned char string_ordinal[] = {0xc2,0xba,0};  // masculine ordinal character, UTF-8
+const unsigned char utf8_null[] = { 0 }; // null string, UTF-8
 
 static Translator* NewTranslator(void)
 {//===================================
@@ -296,7 +296,7 @@ static const char transpose_map_latin[]
 	tr->langopts.replace_chars = NULL;
 	tr->langopts.ascii_language[0] = 0;    // Non-Latin alphabet languages, use this language to speak Latin words, default is English
 	tr->langopts.alt_alphabet_lang = L('e','n');
-	tr->langopts.roman_suffix = "";
+	tr->langopts.roman_suffix = utf8_null;
 
 	SetLengthMods(tr,201);
 //	tr->langopts.length_mods = length_mods_en;
@@ -758,7 +758,7 @@ Translator *SelectTranslator(const char
 				tr->langopts.stress_flags = S_FINAL_SPANISH | S_FINAL_DIM_ONLY | S_FINAL_NO_2;
 				tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_ROMAN | NUM_ROMAN_ORDINAL;
 				tr->langopts.numbers2 = NUM2_ORDINAL_NO_AND;
-				tr->langopts.roman_suffix = string_ordinal;
+				tr->langopts.roman_suffix = utf8_null;
 			}
 			else
 			if(name2 == L_pap)
Index: espeak-1.48.04-source/src/translate.h
===================================================================
--- espeak-1.48.04-source.orig/src/translate.h
+++ espeak-1.48.04-source/src/translate.h
@@ -545,7 +545,7 @@ typedef struct {
 	int decimal_sep;
 	int max_digits;    // max number of digits which can be spoken as an integer number (rather than individual digits)
 	const char *ordinal_indicator;   // UTF-8 string
-	const char *roman_suffix;    // add this (ordinal) suffix to Roman numbers (LANG=an)
+	const unsigned char *roman_suffix;    // add this (ordinal) suffix to Roman numbers (LANG=an)
 
 	// bit 0, accent name before the letter name, bit 1 "capital" after letter name
 	int accents;
