- fix: escape '+' in regex patterns through RPMMIRE_DEFAULT (#103851).
authorjbj <devnull@localhost>
Fri, 26 Dec 2003 16:34:52 +0000 (16:34 +0000)
committerjbj <devnull@localhost>
Fri, 26 Dec 2003 16:34:52 +0000 (16:34 +0000)
- RPMMIRE_DEFAULT is overkill, use RPMMIRE_STRCMP instead (#103851).

CVS patchset: 7011
CVS date: 2003/12/26 16:34:52

CHANGES
lib/psm.c
lib/transaction.c
rpmdb/rpmdb.c

diff --git a/CHANGES b/CHANGES
index 806f3fb..a8bed2e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,9 @@
        - don't use error string after gzclose (Dmitry V. Levin).
        - only internal Berkeley db from now on.
        - revive "make dist".
+       - fix: added index size wrong iff _transaction_color != 0/3 (#103865).
+       - fix: escape '+' in regex patterns through RPMMIRE_DEFAULT (#103851).
+       - RPMMIRE_DEFAULT is overkill, use RPMMIRE_STRCMP instead (#103851).
 
 4.2.1 -> 4.2.2:
        - unify signal handling in librpmio, use condvar to deliver signal.
index aeadef5..48f0ad2 100644 (file)
--- a/lib/psm.c
+++ b/lib/psm.c
@@ -1210,16 +1210,16 @@ rpmRC rpmpsmStage(rpmpsm psm, pkgStage stage)
 
 assert(psm->mi == NULL);
            psm->mi = rpmtsInitIterator(ts, RPMTAG_NAME, rpmteN(psm->te), 0);
-           xx = rpmdbSetIteratorRE(psm->mi, RPMTAG_EPOCH, RPMMIRE_DEFAULT,
+           xx = rpmdbSetIteratorRE(psm->mi, RPMTAG_EPOCH, RPMMIRE_STRCMP,
                        rpmteE(psm->te));
-           xx = rpmdbSetIteratorRE(psm->mi, RPMTAG_VERSION, RPMMIRE_DEFAULT,
+           xx = rpmdbSetIteratorRE(psm->mi, RPMTAG_VERSION, RPMMIRE_STRCMP,
                        rpmteV(psm->te));
-           xx = rpmdbSetIteratorRE(psm->mi, RPMTAG_RELEASE, RPMMIRE_DEFAULT,
+           xx = rpmdbSetIteratorRE(psm->mi, RPMTAG_RELEASE, RPMMIRE_STRCMP,
                        rpmteR(psm->te));
            if (tscolor) {
-               xx = rpmdbSetIteratorRE(psm->mi, RPMTAG_ARCH, RPMMIRE_DEFAULT,
+               xx = rpmdbSetIteratorRE(psm->mi, RPMTAG_ARCH, RPMMIRE_STRCMP,
                        rpmteA(psm->te));
-               xx = rpmdbSetIteratorRE(psm->mi, RPMTAG_OS, RPMMIRE_DEFAULT,
+               xx = rpmdbSetIteratorRE(psm->mi, RPMTAG_OS, RPMMIRE_STRCMP,
                        rpmteO(psm->te));
            }
 
index a0e147d..4fdeab5 100644 (file)
@@ -1037,16 +1037,16 @@ rpmMessage(RPMMESS_DEBUG, _("sanity checking %d elements\n"), rpmtsNElements(ts)
 
        if (!(rpmtsFilterFlags(ts) & RPMPROB_FILTER_REPLACEPKG)) {
            mi = rpmtsInitIterator(ts, RPMTAG_NAME, rpmteN(p), 0);
-           xx = rpmdbSetIteratorRE(mi, RPMTAG_EPOCH, RPMMIRE_DEFAULT,
+           xx = rpmdbSetIteratorRE(mi, RPMTAG_EPOCH, RPMMIRE_STRCMP,
                                rpmteE(p));
-           xx = rpmdbSetIteratorRE(mi, RPMTAG_VERSION, RPMMIRE_DEFAULT,
+           xx = rpmdbSetIteratorRE(mi, RPMTAG_VERSION, RPMMIRE_STRCMP,
                                rpmteV(p));
-           xx = rpmdbSetIteratorRE(mi, RPMTAG_RELEASE, RPMMIRE_DEFAULT,
+           xx = rpmdbSetIteratorRE(mi, RPMTAG_RELEASE, RPMMIRE_STRCMP,
                                rpmteR(p));
            if (tscolor) {
-               xx = rpmdbSetIteratorRE(mi, RPMTAG_ARCH, RPMMIRE_DEFAULT,
+               xx = rpmdbSetIteratorRE(mi, RPMTAG_ARCH, RPMMIRE_STRCMP,
                                rpmteA(p));
-               xx = rpmdbSetIteratorRE(mi, RPMTAG_OS, RPMMIRE_DEFAULT,
+               xx = rpmdbSetIteratorRE(mi, RPMTAG_OS, RPMMIRE_STRCMP,
                                rpmteO(p));
            }
 
index 3532be9..10dfd27 100644 (file)
@@ -1747,12 +1747,13 @@ static /*@only@*/ char * mireDup(rpmTag tag, rpmMireMode *modep,
        nb = strlen(pattern) + sizeof("^$");
 
        /* Find no. of bytes needed for pattern. */
-       /* periods are escaped, splats become '.*' */
+       /* periods and plusses are escaped, splats become '.*' */
        c = '\0';
        brackets = 0;
        for (s = pattern; *s != '\0'; s++) {
            switch (*s) {
            case '.':
+           case '+':
            case '*':
                if (!brackets) nb++;
                /*@switchbreak@*/ break;
@@ -1779,6 +1780,7 @@ static /*@only@*/ char * mireDup(rpmTag tag, rpmMireMode *modep,
        for (s = pattern; *s != '\0'; s++, t++) {
            switch (*s) {
            case '.':
+           case '+':
                if (!brackets) *t++ = '\\';
                /*@switchbreak@*/ break;
            case '*':