]>
Commit | Line | Data |
---|---|---|
26ea8a78 JR |
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 | |
41ba3857 | 3 | @@ -118,7 +118,29 @@ |
26ea8a78 JR |
4 | /*@fallthrough@*/ |
5 | case URL_IS_UNKNOWN: | |
6 | default: | |
41ba3857 | 7 | + { |
a3809792 JR |
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 | + | |
26ea8a78 JR |
20 | t = magic_file(mg->ms, fn); |
21 | + | |
a3809792 JR |
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 | + } | |
26ea8a78 JR |
30 | /* XXX HACK: libmagic compiled without <pcreposix.h> spews here. */ |
31 | if (t == NULL) { | |
32 | const char * msg = magic_error(mg->ms); | |
41ba3857 JR |
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 | } |