RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson
Root: /v/rpm/cvs Email: jbj@rpm5.org
Module: rpm Date: 10-Feb-2008 23:09:09
Branch: HEAD Handle: 2008021022090800
Modified files:
rpm/rpmio mire.c
Log:
- jbj: mire: fix: mireRegexec for pcre return codes were goofy.
Summary:
Revision Changes Path
1.16 +12 -10 rpm/rpmio/mire.c
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: rpm/rpmio/mire.c
============================================================================
$ cvs diff -u -r1.15 -r1.16 mire.c
--- rpm/rpmio/mire.c 10 Feb 2008 18:32:33 -0000 1.15
+++ rpm/rpmio/mire.c 10 Feb 2008 22:09:08 -0000 1.16
@@ -131,18 +131,17 @@
rc = -1;
}
break;
-#ifdef WITH_PCRE
case RPMMIRE_PCRE:
+#ifdef WITH_PCRE
if (vallen == 0)
vallen = strlen(val);
rc = pcre_exec(mire->pcre, mire->hints, val, vallen, 0,
mire->eoptions, mire->offsets, mire->noffsets);
- if (rc && rc != PCRE_ERROR_NOMATCH) {
- rpmlog(RPMLOG_ERR, _("%s: pcre_exec failed: return %d\n"), rc);
- rc = -1;
+ if (rc < 0 && rc != PCRE_ERROR_NOMATCH) {
+ rpmlog(RPMLOG_ERR, _("pcre_exec failed: return %d\n"), rc);
}
#else
- rc = -1;
+ rc = -99;
#endif
break;
case RPMMIRE_GLOB:
@@ -157,7 +156,7 @@
/*@-modfilesys@*/
if (_mire_debug)
-fprintf(stderr, "--> mireRegexec(%p, \"%s\", %u) rc %d\n", mire, val, (unsigned)vallen, rc);
+fprintf(stderr, "--> mireRegexec(%p, %p[%u]) rc %d mode %d\t\"%.*s\"\n", mire, val, (unsigned)vallen, rc, mire->mode, vallen, val);
/*@=modfilesys@*/
return rc;
}
@@ -172,20 +171,23 @@
case RPMMIRE_DEFAULT:
case RPMMIRE_STRCMP:
break;
-#ifdef WITH_PCRE
case RPMMIRE_PCRE:
+#ifdef WITH_PCRE
if (mire->coptions == 0)
mire->coptions = 0; /* XXX defaults? */
+ mire->errcode = 0;
+ mire->errmsg = NULL;
+ mire->erroff = 0;
mire->pcre = pcre_compile2(mire->pattern, mire->coptions,
&mire->errcode, &mire->errmsg, &mire->erroff, mire->table);
if (mire->pcre == NULL) {
rpmlog(RPMLOG_ERR,
- _("%s: pcre_compile2 failed: %s(%d) at offset %d\n"),
- mire->pattern, mire->errmsg, mire->errcode, mire->erroff);
+ _("pcre_compile2 failed: %s(%d) at offset %d of \"%s\"\n"),
+ mire->errmsg, mire->errcode, mire->erroff, mire->pattern);
rc = -1;
}
#else
- rc = -1;
+ rc = -99;
#endif
break;
case RPMMIRE_REGEX:
@@ .
Received on Sun Feb 10 23:09:09 2008