]> git.pld-linux.org Git - packages/rpm.git/blame_incremental - rpm-libmagic-locale.patch
- rel 24; switch from -fstack-protector --param=ssp-buffer-size=4 to -fstack-protecto...
[packages/rpm.git] / rpm-libmagic-locale.patch
... / ...
CommitLineData
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.037897 seconds and 4 git commands to generate.