]> git.pld-linux.org Git - packages/rpm.git/blame - rpm-libmagic-locale.patch
Merge usefeul patches from rpm-4_5 branch
[packages/rpm.git] / rpm-libmagic-locale.patch
CommitLineData
a3809792
JR
1--- rpm-4.5/lib/rpmfc.c.org 2012-02-29 16:32:05.655058968 +0100
2+++ rpm-4.5/lib/rpmfc.c 2012-02-29 16:36:22.430972834 +0100
3@@ -1114,9 +1114,31 @@
4 /* XXX skip all files in /dev/ which are (or should be) %dev dummies. */
5 else if (slen >= fc->brlen+sizeof("/dev/") && !strncmp(s+fc->brlen, "/dev/", sizeof("/dev/")-1))
6 ftype = "";
7- else
8+ else {
9+ char *old_ctype = setlocale(LC_CTYPE, NULL);
10+ char *old_collate = setlocale(LC_COLLATE, NULL);
11+
12+ if (old_ctype) {
13+ old_ctype = xstrdup(old_ctype);
14+ setlocale(LC_CTYPE, "C");
15+ }
16+ if (old_collate) {
17+ old_collate = xstrdup(old_collate);
18+ setlocale(LC_COLLATE, "C");
19+ }
20+
21 ftype = magic_file(ms, s);
22
23+ if (old_ctype) {
24+ setlocale(LC_CTYPE, old_ctype);
25+ _free(old_ctype);
26+ }
27+ if (old_collate) {
28+ setlocale(LC_COLLATE, old_collate);
29+ _free(old_collate);
30+ }
31+ }
32+
33 if (ftype == NULL) {
34 xx = RPMERR_EXEC;
35 rpmError(xx, _("magic_file(ms, \"%s\") failed: mode %06o %s\n"),
This page took 0.033072 seconds and 4 git commands to generate.