diff options
-rw-r--r-- | CHANGES | 1 | ||||
-rw-r--r-- | lib/macro.c | 8 | ||||
-rw-r--r-- | po/rpm.pot | 2 | ||||
-rw-r--r-- | rpm.spec | 2 | ||||
-rw-r--r-- | rpmio/macro.c | 8 |
5 files changed, 15 insertions, 6 deletions
@@ -17,6 +17,7 @@ - MiNT port (Guido Flohr <gufl0000@stud.uni-sb.de>). - fix: --rebuilddb with --root dinna remove directory (Michael Andres). - fix: false fingerprint stat cache hit -- "the tetex problem" (#2727). + - fix: bsearch needs macro table sorted after undefine. 3.0 -> 3.0.1 - fix: %verifyscript resurrected (Shing-Gene Yung). diff --git a/lib/macro.c b/lib/macro.c index 5d1a71a15..ff2f40d3c 100644 --- a/lib/macro.c +++ b/lib/macro.c @@ -1162,13 +1162,17 @@ addMacro(MacroContext *mc, const char *n, const char *o, const char *b, int leve void delMacro(MacroContext *mc, const char *name) { - MacroEntry **mep = findEntry(mc, name, 0); + MacroEntry **mep; if (mc == NULL) mc = &globalMacroContext; /* If name exists, pop entry */ - if ((mep = findEntry(mc, name, 0)) != NULL) + if ((mep = findEntry(mc, name, 0)) != NULL) { popMacro(mep); + /* If deleted name, sort macro table */ + if (!(mep && *mep)) + sortMacroTable(mc); + } } int diff --git a/po/rpm.pot b/po/rpm.pot index 0aaea2045..3a3d32bad 100644 --- a/po/rpm.pot +++ b/po/rpm.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 1999-06-23 16:54-0400\n" +"POT-Creation-Date: 1999-06-24 17:12-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -2,7 +2,7 @@ Summary: The Red Hat package management system. Name: rpm %define version 3.0.2 Version: %{version} -Release: 0.7 +Release: 0.8 Group: System Environment/Base Source: ftp://ftp.rpm.org/pub/rpm/dist/rpm-3.0.x/rpm-%{version}.tar.gz Copyright: GPL diff --git a/rpmio/macro.c b/rpmio/macro.c index 5d1a71a15..ff2f40d3c 100644 --- a/rpmio/macro.c +++ b/rpmio/macro.c @@ -1162,13 +1162,17 @@ addMacro(MacroContext *mc, const char *n, const char *o, const char *b, int leve void delMacro(MacroContext *mc, const char *name) { - MacroEntry **mep = findEntry(mc, name, 0); + MacroEntry **mep; if (mc == NULL) mc = &globalMacroContext; /* If name exists, pop entry */ - if ((mep = findEntry(mc, name, 0)) != NULL) + if ((mep = findEntry(mc, name, 0)) != NULL) { popMacro(mep); + /* If deleted name, sort macro table */ + if (!(mep && *mep)) + sortMacroTable(mc); + } } int |