]> git.pld-linux.org Git - packages/rpm.git/blob - rpm-libmagic-locale.patch
gcc6 fix
[packages/rpm.git] / rpm-libmagic-locale.patch
1 --- rpm-4.5/rpmio/rpmmg.c.org   2012-02-29 16:32:05.655058968 +0100
2 +++ rpm-4.5/rpmio/rpmmg.c       2012-02-29 16:36:22.430972834 +0100
3 @@ -118,7 +118,29 @@
4             /*@fallthrough@*/
5         case URL_IS_UNKNOWN:
6         default:
7 +           {
8 +               char *old_ctype = setlocale(LC_CTYPE, NULL);
9 +               char *old_collate = setlocale(LC_COLLATE, NULL);
10 +
11 +               if (old_ctype) {
12 +                       old_ctype = xstrdup(old_ctype);
13 +                       setlocale(LC_CTYPE, "C");
14 +               }
15 +               if (old_collate) {
16 +                       old_collate = xstrdup(old_collate);
17 +                       setlocale(LC_COLLATE, "C");
18 +               }
19 +
20             t = magic_file(mg->ms, fn);
21 +
22 +               if (old_ctype) {
23 +                       setlocale(LC_CTYPE, old_ctype);
24 +                       _free(old_ctype);
25 +               }
26 +               if (old_collate) {
27 +                       setlocale(LC_COLLATE, old_collate);
28 +                       _free(old_collate);
29 +               }
30             /* XXX HACK: libmagic compiled without <pcreposix.h> spews here. */
31             if (t == NULL) {
32                 const char * msg = magic_error(mg->ms);
33 @@ -147,6 +176,7 @@
34                     rpmlog(RPMLOG_ERR, _("magic_file(ms, %s) failed: %s\n"),
35                             (fn ? fn : "(nil)"), msg);
36             }
37 +           }
38             break;
39         }
40      }
This page took 0.023102 seconds and 3 git commands to generate.