X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=rpm-libmagic-locale.patch;h=d83f577d6c3554236d9ae4c5dfbecbd1bd43221f;hb=7f360ada42d0091ee37f87ddc87a998f47ebb61d;hp=29fcc32986867cdd270d732bec0fa3d761ecc760;hpb=a3809792b1fd84d358ee44b131d3f713713a344e;p=packages%2Frpm.git diff --git a/rpm-libmagic-locale.patch b/rpm-libmagic-locale.patch index 29fcc32..d83f577 100644 --- a/rpm-libmagic-locale.patch +++ b/rpm-libmagic-locale.patch @@ -1,11 +1,10 @@ ---- rpm-4.5/lib/rpmfc.c.org 2012-02-29 16:32:05.655058968 +0100 -+++ rpm-4.5/lib/rpmfc.c 2012-02-29 16:36:22.430972834 +0100 -@@ -1114,9 +1114,31 @@ - /* XXX skip all files in /dev/ which are (or should be) %dev dummies. */ - else if (slen >= fc->brlen+sizeof("/dev/") && !strncmp(s+fc->brlen, "/dev/", sizeof("/dev/")-1)) - ftype = ""; -- else -+ else { +--- rpm-4.5/rpmio/rpmmg.c.org 2012-02-29 16:32:05.655058968 +0100 ++++ rpm-4.5/rpmio/rpmmg.c 2012-02-29 16:36:22.430972834 +0100 +@@ -118,7 +118,29 @@ + /*@fallthrough@*/ + case URL_IS_UNKNOWN: + default: ++ { + char *old_ctype = setlocale(LC_CTYPE, NULL); + char *old_collate = setlocale(LC_COLLATE, NULL); + @@ -18,8 +17,8 @@ + setlocale(LC_COLLATE, "C"); + } + - ftype = magic_file(ms, s); - + t = magic_file(mg->ms, fn); ++ + if (old_ctype) { + setlocale(LC_CTYPE, old_ctype); + _free(old_ctype); @@ -28,8 +27,14 @@ + setlocale(LC_COLLATE, old_collate); + _free(old_collate); + } + /* XXX HACK: libmagic compiled without spews here. */ + if (t == NULL) { + const char * msg = magic_error(mg->ms); +@@ -147,6 +176,7 @@ + rpmlog(RPMLOG_ERR, _("magic_file(ms, %s) failed: %s\n"), + (fn ? fn : "(nil)"), msg); + } + } -+ - if (ftype == NULL) { - xx = RPMERR_EXEC; - rpmError(xx, _("magic_file(ms, \"%s\") failed: mode %06o %s\n"), + break; + } + }