]> git.pld-linux.org Git - packages/rpm.git/commitdiff
rpmGlob() now locale independent
authorArtur Frysiak <artur@frysiak.net>
Wed, 16 May 2001 16:22:41 +0000 (16:22 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    rpm-glob.patch -> 1.1

rpm-glob.patch [new file with mode: 0644]

diff --git a/rpm-glob.patch b/rpm-glob.patch
new file mode 100644 (file)
index 0000000..de3ab06
--- /dev/null
@@ -0,0 +1,50 @@
+--- rpm-4.0.2/lib/misc.c.glob  Wed May 16 13:00:10 2001
++++ rpm-4.0.2/lib/misc.c       Wed May 16 15:35:28 2001
+@@ -583,6 +583,11 @@
+     const char * path;
+     const char * globURL;
+     char * globRoot = NULL;
++#ifdef ENABLE_NLS     
++      char * old_collate = NULL;
++      char * old_ctype = NULL;
++      char * t;
++#endif
+     size_t maxb, nb;
+     glob_t gl;
+     int ut;
+@@ -593,6 +598,17 @@
+     if (rc)
+       return rc;
++#ifdef ENABLE_NLS
++      t = setlocale(LC_COLLATE, NULL);
++      if (t)
++              old_collate = strdup(t);
++      t = setlocale(LC_CTYPE, NULL);
++      if (t)
++              old_ctype = strdup(t);
++      setlocale(LC_COLLATE, "C");
++      setlocale(LC_CTYPE, "C");
++#endif
++      
+     for (j = 0; j < ac; j++) {
+       if (!myGlobPatternP(av[j])) {
+           if (argc == 0)
+@@ -667,6 +683,17 @@
+ exit:
++#ifdef ENABLE_NLS
++      if (old_collate) {
++              setlocale(LC_COLLATE, old_collate);
++              free(old_collate);
++      }
++      if (old_ctype) {
++              setlocale(LC_CTYPE, old_ctype);
++              free(old_ctype);
++      }
++#endif
++
+     if (av)
+       free((void *)av);
+     if ((rc || argvPtr == NULL) && argv) {
This page took 0.084502 seconds and 4 git commands to generate.