mirror of
https://abf.rosa.ru/djam/rpm.git
synced 2025-02-23 18:33:04 +00:00
21 lines
871 B
Diff
21 lines
871 B
Diff
--- rpm-5.3.8/rpmdb/rpmdb.c.distpatt~ 2011-01-09 07:25:35.000000000 +0100
|
|
+++ rpm-5.3.8/rpmdb/rpmdb.c 2011-02-25 08:03:31.073663026 +0100
|
|
@@ -2441,6 +2446,18 @@ assert(keylen == sizeof(hdrNum));
|
|
/* XXX Special case #4: gather primary keys with patterns. */
|
|
rpmRC rc;
|
|
|
|
+ /* ugly hack to workaround disttag/distepoch pattern matching issue */
|
|
+ const char *tmp = strstr(keyp, "-mdv2011.0");
|
|
+ if(tmp) {
|
|
+ const char *origkeyp = keyp;
|
|
+ size_t klen = strlen(keyp);
|
|
+ keyp = alloca(klen);
|
|
+ memset((void*)keyp, klen, 0);
|
|
+ klen = tmp-origkeyp+1;
|
|
+ snprintf((char*)keyp, klen, "%s", origkeyp);
|
|
+ if(strlen(tmp) > sizeof("-mdv2011.0")-1)
|
|
+ stpcpy((char*)keyp+(klen-1), &tmp[sizeof("-mdv2011.0")-1]);
|
|
+ }
|
|
rc = dbiFindMatches(dbi, keyp, &set);
|
|
|
|
if ((rc && rc != RPMRC_NOTFOUND) || set == NULL || set->count < 1) { /* error or empty set */
|