summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES1
-rw-r--r--lib/macro.c8
-rw-r--r--po/rpm.pot2
-rw-r--r--rpm.spec2
-rw-r--r--rpmio/macro.c8
5 files changed, 15 insertions, 6 deletions
diff --git a/CHANGES b/CHANGES
index cd0b8a680..a58af52fd 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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"
diff --git a/rpm.spec b/rpm.spec
index 7a9927141..4a85f3ae1 100644
--- a/rpm.spec
+++ b/rpm.spec
@@ -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