From: Victor Stinner <vstinner@wyplay.com>
Date: Mon, 21 Nov 2011 14:41:17 +0000 (+0100)
Subject: Another temporary hack to debug the issue #13441
X-Git-Tag: v3.3.0a1~772
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a697b373002b25c643fb898cf95e474446b2ee97;p=python

Another temporary hack to debug the issue #13441

Dump the wchar_t that we are going to decode and dump the locale
---

diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c
index 236442f05b..6a751d6187 100644
--- a/Modules/_localemodule.c
+++ b/Modules/_localemodule.c
@@ -72,6 +72,20 @@ str2uni(const char* s)
     assert(res1 != (size_t)-1);
 #else
     assert(res1 == needed);
+#endif
+#ifdef Py_DEBUG
+    {
+        size_t i;
+        printf("Decode wchar_t {");
+        for (i=0; i<res1; i++) {
+            wchar_t ch = dest[i];
+            if (i)
+                printf(" U+%04x", ch);
+            else
+                printf("U+%04x", ch);
+        }
+        printf("} (len=%u)\n", res1);
+    }
 #endif
     res2 = PyUnicode_FromWideChar(dest, res1);
     if (dest != smallbuf)
@@ -160,12 +174,18 @@ PyLocale_setlocale(PyObject* self, PyObject* args)
 
     if (locale) {
         /* set locale */
+#ifdef Py_DEBUG
+        printf("SET LOCALE \"%s\"\n", locale);
+#endif
         result = setlocale(category, locale);
         if (!result) {
             /* operation failed, no setting was changed */
             PyErr_SetString(Error, "unsupported locale setting");
             return NULL;
         }
+#ifdef Py_DEBUG
+        printf("SET LOCALE -> %s\n", result);
+#endif
         result_object = str2uni(result);
         if (!result_object)
             return NULL;