Cygwin: locales: fix behaviour for @euro locales
Latest Windows supports more EU locales than GLibc, so some of the
@euro locales are not covered by checking the GLibc locale defaults.
Those locales have no long history, they are all UTF-8. So just
check for @euro in the UTF-8 case and set them to ISO-8859-15.
Fixes: 2483e54be8
("Cygwin: locale: Set default charset from Linux locale -> codeset mapping")
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
c3e7f7609e
commit
2d5492453a
|
@ -1610,9 +1610,17 @@ __set_charset_from_locale (const char *loc, char *charset)
|
|||
cs = "ISO-8859-13";
|
||||
break;
|
||||
case 1258:
|
||||
default:
|
||||
cs = "UTF-8";
|
||||
break;
|
||||
default:
|
||||
/* Some (pretty new) EU locales don't exist in GLibc and haven't been
|
||||
catched above. Check for @euro modifier again and make these locales
|
||||
always use ISO-8859-15. */
|
||||
if (modifier && !strcmp (modifier + 1, "euro"))
|
||||
cs = "ISO-8859-15";
|
||||
else
|
||||
cs = "UTF-8";
|
||||
break;
|
||||
}
|
||||
stpcpy (charset, cs);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue