diff options
author | Anders Blomdell <anders.blomdell@control.lth.se> | 2014-07-11 19:10:21 +0200 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2014-07-19 14:15:48 -0700 |
commit | 5b8de971a4b81bc2bd6de0ffc6386587226295c6 (patch) | |
tree | 8cc79eb8d39320b16742a16830504e026e3cf7c0 | |
parent | 57c61d70ec1920f731f9509510e6913aa1d62aa3 (diff) |
Use C-locale for numeric/string conversion routines
(strtod, ...) or config file parsing might fail.
Change-Id: I649f29bbf87222399a0c2d1ed5a3bf136c613b9b
BUG: 1117951
Signed-off-by: Anders Blomdell <anders.blomdell@control.lth.se>
Reviewed-on: http://review.gluster.org/8299
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Prashanth Pai <ppai@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
-rw-r--r-- | libglusterfs/src/logging.c | 1 | ||||
-rw-r--r-- | tests/bugs/bug-1117951.t | 24 |
2 files changed, 25 insertions, 0 deletions
diff --git a/libglusterfs/src/logging.c b/libglusterfs/src/logging.c index e9734bcfca1..01e34b4c6a7 100644 --- a/libglusterfs/src/logging.c +++ b/libglusterfs/src/logging.c @@ -501,6 +501,7 @@ gf_openlog (const char *ident, int option, int facility) /* TODO: Should check for errors here and return appropriately */ setlocale(LC_ALL, ""); + setlocale(LC_NUMERIC, "C"); /* C-locale for strtod, ... */ /* close the previous syslog if open as we are changing settings */ closelog (); openlog(ident, _option, _facility); diff --git a/tests/bugs/bug-1117951.t b/tests/bugs/bug-1117951.t new file mode 100644 index 00000000000..47a0781def5 --- /dev/null +++ b/tests/bugs/bug-1117951.t @@ -0,0 +1,24 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc +. $(dirname $0)/../volume.rc + +cleanup; + +TEST glusterd +TEST pidof glusterd +TEST $CLI volume create $V0 $H0:$B0/brick +EXPECT 'Created' volinfo_field $V0 'Status'; +TEST $CLI volume start $V0 + +# Running with a locale not using '.' as decimal separator should work +export LC_NUMERIC=sv_SE.utf8 +TEST glusterfs --volfile-id=$V0 --volfile-server=$H0 $M0 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 + +# As should a locale using '.' as a decimal separator +export LC_NUMERIC=C +TEST glusterfs --volfile-id=$V0 --volfile-server=$H0 $M0 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 + +cleanup |