فهرست منبع

Encoding: Change to only set LC_CTYPE to fix encoding issues with libarchive.

Changing all categories with LC_ALL causes test failures in some locales.
For example, in some locales, the decimal characer could be a comma instead of period.
Clinton Stimpson 11 سال پیش
والد
کامیت
c746b00eee
4فایلهای تغییر یافته به همراه4 افزوده شده و 4 حذف شده
  1. 1 1
      Source/CPack/cpack.cxx
  2. 1 1
      Source/CursesDialog/ccmake.cxx
  3. 1 1
      Source/cmakemain.cxx
  4. 1 1
      Source/ctest.cxx

+ 1 - 1
Source/CPack/cpack.cxx

@@ -101,7 +101,7 @@ int cpackDefinitionArgument(const char* argument, const char* cValue,
 // this is CPack.
 int main (int argc, char const* const* argv)
 {
-  setlocale(LC_ALL, "");
+  setlocale(LC_CTYPE, "");
   cmsys::Encoding::CommandLineArguments args =
     cmsys::Encoding::CommandLineArguments::Main(argc, argv);
   argc = args.argc();

+ 1 - 1
Source/CursesDialog/ccmake.cxx

@@ -83,7 +83,7 @@ void CMakeMessageHandler(const char* message, const char* title, bool&,
 
 int main(int argc, char const* const* argv)
 {
-  setlocale(LC_ALL, "");
+  setlocale(LC_CTYPE, "");
 
   cmsys::Encoding::CommandLineArguments encoding_args =
     cmsys::Encoding::CommandLineArguments::Main(argc, argv);

+ 1 - 1
Source/cmakemain.cxx

@@ -163,7 +163,7 @@ static void cmakemainProgressCallback(const char *m, float prog,
 
 int main(int ac, char const* const* av)
 {
-  setlocale(LC_ALL, "");
+  setlocale(LC_CTYPE, "");
   cmsys::Encoding::CommandLineArguments args =
     cmsys::Encoding::CommandLineArguments::Main(ac, av);
   ac = args.argc();

+ 1 - 1
Source/ctest.cxx

@@ -115,7 +115,7 @@ static const char * cmDocumentationOptions[][2] =
 // this is a test driver program for cmCTest.
 int main (int argc, char const* const* argv)
 {
-  setlocale(LC_ALL, "");
+  setlocale(LC_CTYPE, "");
 
   cmsys::Encoding::CommandLineArguments encoding_args =
     cmsys::Encoding::CommandLineArguments::Main(argc, argv);