diff options
author | Karl Williamson <khw@cpan.org> | 2015-05-08 15:19:56 -0600 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2015-09-08 10:05:56 -0600 |
commit | bbc981342c254b86d5bc82e5175169b68f0e59ce (patch) | |
tree | c9ab53c77f73c5b04d08123a908d3ba03ed59934 | |
parent | 5d1187d1639ce42a8a9283c8282136fa16d41e50 (diff) | |
download | perl-bbc981342c254b86d5bc82e5175169b68f0e59ce.tar.gz |
Add more -DL debugging info
This adds more stuff that gets dumped when debugging locale handling.
And it adds even more when the v modifier appears.
-rw-r--r-- | ext/POSIX/POSIX.xs | 21 | ||||
-rw-r--r-- | locale.c | 26 | ||||
-rw-r--r-- | perl.h | 5 |
3 files changed, 48 insertions, 4 deletions
diff --git a/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs index 7d76af3bde..02c5c47436 100644 --- a/ext/POSIX/POSIX.xs +++ b/ext/POSIX/POSIX.xs @@ -2269,6 +2269,9 @@ setlocale(category, locale = 0) #else retval = setlocale(category, locale); #endif + DEBUG_L(PerlIO_printf(Perl_debug_log, + "%s:%d: %s\n", __FILE__, __LINE__, + _setlocale_debug_string(category, locale, retval))); if (! retval) { /* Should never happen that a query would return an error, but be * sure and reset to C locale */ @@ -2298,8 +2301,12 @@ setlocale(category, locale = 0) { char *newctype; #ifdef LC_ALL - if (category == LC_ALL) + if (category == LC_ALL) { newctype = setlocale(LC_CTYPE, NULL); + DEBUG_Lv(PerlIO_printf(Perl_debug_log, + "%s:%d: %s\n", __FILE__, __LINE__, + _setlocale_debug_string(LC_CTYPE, NULL, newctype))); + } else #endif newctype = RETVAL; @@ -2315,8 +2322,12 @@ setlocale(category, locale = 0) { char *newcoll; #ifdef LC_ALL - if (category == LC_ALL) + if (category == LC_ALL) { newcoll = setlocale(LC_COLLATE, NULL); + DEBUG_Lv(PerlIO_printf(Perl_debug_log, + "%s:%d: %s\n", __FILE__, __LINE__, + _setlocale_debug_string(LC_COLLATE, NULL, newcoll))); + } else #endif newcoll = RETVAL; @@ -2332,8 +2343,12 @@ setlocale(category, locale = 0) { char *newnum; #ifdef LC_ALL - if (category == LC_ALL) + if (category == LC_ALL) { newnum = setlocale(LC_NUMERIC, NULL); + DEBUG_Lv(PerlIO_printf(Perl_debug_log, + "%s:%d: %s\n", __FILE__, __LINE__, + _setlocale_debug_string(LC_NUMERIC, NULL, newnum))); + } else #endif newnum = RETVAL; @@ -569,6 +569,8 @@ Perl_my_setlocale(pTHX_ int category, const char* locale) } result = setlocale(category, locale); + DEBUG_L(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n", __FILE__, __LINE__, + _setlocale_debug_string(category, locale, result))); if (! override_LC_ALL) { return result; @@ -583,41 +585,63 @@ Perl_my_setlocale(pTHX_ int category, const char* locale) result = PerlEnv_getenv("LC_TIME"); if (result && strNE(result, "")) { setlocale(LC_TIME, result); + DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n", + __FILE__, __LINE__, + _setlocale_debug_string(LC_TIME, result, "not captured"))); } # endif # ifdef USE_LOCALE_CTYPE result = PerlEnv_getenv("LC_CTYPE"); if (result && strNE(result, "")) { setlocale(LC_CTYPE, result); + DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n", + __FILE__, __LINE__, + _setlocale_debug_string(LC_CTYPE, result, "not captured"))); } # endif # ifdef USE_LOCALE_COLLATE result = PerlEnv_getenv("LC_COLLATE"); if (result && strNE(result, "")) { setlocale(LC_COLLATE, result); + DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n", + __FILE__, __LINE__, + _setlocale_debug_string(LC_COLLATE, result, "not captured"))); } # endif # ifdef USE_LOCALE_MONETARY result = PerlEnv_getenv("LC_MONETARY"); if (result && strNE(result, "")) { setlocale(LC_MONETARY, result); + DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n", + __FILE__, __LINE__, + _setlocale_debug_string(LC_MONETARY, result, "not captured"))); } # endif # ifdef USE_LOCALE_NUMERIC result = PerlEnv_getenv("LC_NUMERIC"); if (result && strNE(result, "")) { setlocale(LC_NUMERIC, result); + DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n", + __FILE__, __LINE__, + _setlocale_debug_string(LC_NUMERIC, result, "not captured"))); } # endif # ifdef USE_LOCALE_MESSAGES result = PerlEnv_getenv("LC_MESSAGES"); if (result && strNE(result, "")) { setlocale(LC_MESSAGES, result); + DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n", + __FILE__, __LINE__, + _setlocale_debug_string(LC_MESSAGES, result, "not captured"))); } # endif - return setlocale(LC_ALL, NULL); + result = setlocale(LC_ALL, NULL); + DEBUG_L(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n", + __FILE__, __LINE__, + _setlocale_debug_string(LC_ALL, NULL, result))); + return result; } #endif @@ -4055,6 +4055,7 @@ Gid_t getegid (void); # define DEBUG_Xv_TEST_ (DEBUG_X_TEST_ && DEBUG_v_TEST_) # define DEBUG_Uv_TEST_ (DEBUG_U_TEST_ && DEBUG_v_TEST_) # define DEBUG_Pv_TEST_ (DEBUG_P_TEST_ && DEBUG_v_TEST_) +# define DEBUG_Lv_TEST_ (DEBUG_L_TEST_ && DEBUG_v_TEST_) #ifdef DEBUGGING @@ -4088,6 +4089,7 @@ Gid_t getegid (void); # define DEBUG_Xv_TEST DEBUG_Xv_TEST_ # define DEBUG_Uv_TEST DEBUG_Uv_TEST_ # define DEBUG_Pv_TEST DEBUG_Pv_TEST_ +# define DEBUG_Lv_TEST DEBUG_Lv_TEST_ # define PERL_DEB(a) a # define PERL_DEB2(a,b) a @@ -4127,6 +4129,7 @@ Gid_t getegid (void); # define DEBUG_Xv(a) DEBUG__(DEBUG_Xv_TEST, a) # define DEBUG_Uv(a) DEBUG__(DEBUG_Uv_TEST, a) # define DEBUG_Pv(a) DEBUG__(DEBUG_Pv_TEST, a) +# define DEBUG_Lv(a) DEBUG__(DEBUG_Lv_TEST, a) # define DEBUG_S(a) DEBUG__(DEBUG_S_TEST, a) # define DEBUG_T(a) DEBUG__(DEBUG_T_TEST, a) @@ -4171,6 +4174,7 @@ Gid_t getegid (void); # define DEBUG_Xv_TEST (0) # define DEBUG_Uv_TEST (0) # define DEBUG_Pv_TEST (0) +# define DEBUG_Lv_TEST (0) # define PERL_DEB(a) # define PERL_DEB2(a,b) b @@ -4204,6 +4208,7 @@ Gid_t getegid (void); # define DEBUG_Xv(a) # define DEBUG_Uv(a) # define DEBUG_Pv(a) +# define DEBUG_Lv(a) #endif /* DEBUGGING */ |