Reset the locale after initializing Perl, as well as after calling a Perl
authorPhilip Hazel <ph10@hermes.cam.ac.uk>
Fri, 14 Jul 2006 14:32:08 +0000 (14:32 +0000)
committerPhilip Hazel <ph10@hermes.cam.ac.uk>
Fri, 14 Jul 2006 14:32:08 +0000 (14:32 +0000)
function (which it did previously).

doc/doc-txt/ChangeLog
src/src/perl.c

index b7198cb5837783bda5c54d02c7de50bda53847a4..fc78884fd3e837bbfbb2cbd0aa774ae730976403 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.376 2006/07/14 14:21:27 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.377 2006/07/14 14:32:08 ph10 Exp $
 
 Change log file for Exim from version 4.21
 -------------------------------------------
@@ -111,6 +111,9 @@ PH/19 Added PQsetClientEncoding(conn, "SQL_ASCII") to the pgsql code module.
       This is apparently needed in addition to the PH/07 change above to avoid
       any possible encoding problems.
 
+PH/20 Perl can change the locale. Exim was resetting it after a ${perl call,
+      but not after initializing Perl.
+
 
 Exim version 4.62
 -----------------
index 894c1c59dd17151b068f662d8217bc69980f4dbb..4cbcec7f5443f977410c24cc762efd7af32054c9 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/perl.c,v 1.4 2005/02/17 11:58:26 ph10 Exp $ */
+/* $Cambridge: exim/src/src/perl.c,v 1.5 2006/07/14 14:32:09 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -129,6 +129,8 @@ init_perl(uschar *startup_code)
     perl_eval_sv(sv, G_SCALAR|G_DISCARD|G_KEEPERR);
     SvREFCNT_dec(sv);
     if (SvTRUE(ERRSV)) return US SvPV(ERRSV, len);
+
+    setlocale(LC_ALL, "C");    /* In case it got changed */
     return NULL;
     }
 }