# HG changeset patch # User Markus Mützel # Date 1574796508 -3600 # Node ID 5fc630696dc79b554f091d81b980b54f00a53fa2 # Parent 7ae72862b5421d7cbfa347d9708e609ddd5f3d4b Compare locale charset name in lower case (bug #57304). * input.cc (file_reader::get_input): Transform locale encoding name to lower case. diff -r 7ae72862b542 -r 5fc630696dc7 libinterp/corefcn/input.cc --- a/libinterp/corefcn/input.cc Tue Nov 26 13:57:43 2019 +0100 +++ b/libinterp/corefcn/input.cc Tue Nov 26 20:28:28 2019 +0100 @@ -31,6 +31,7 @@ #include #include +#include #include #include #include @@ -861,9 +862,16 @@ std::string mfile_encoding = input_sys.mfile_encoding (); - std::string encoding - = (mfile_encoding.compare ("system") == 0 - ? octave_locale_charset_wrapper () : mfile_encoding); + std::string encoding; + if (mfile_encoding.compare ("system") == 0) + { + encoding = octave_locale_charset_wrapper (); + // encoding identifiers should consist of ASCII only characters + std::transform (encoding.begin (), encoding.end (), encoding.begin (), + ::tolower); + } + else + encoding = mfile_encoding; if (encoding.compare ("utf-8") == 0) {