Blame rpm-4.11.90-expand-load-arg.patch
|
Panu Matilainen |
7674f0 |
commit d4ab1d82d7888f41b866751d0ef340a82be7cff2
|
|
Panu Matilainen |
7674f0 |
Author: Panu Matilainen <pmatilai@redhat.com>
|
|
Panu Matilainen |
7674f0 |
Date: Tue Jul 1 12:04:40 2014 +0300
|
|
Panu Matilainen |
7674f0 |
|
|
Panu Matilainen |
7674f0 |
Macro-expand %{load:...} argument to make the thing more useful...
|
|
Panu Matilainen |
7674f0 |
|
|
Panu Matilainen |
7674f0 |
diff --git a/rpmio/macro.c b/rpmio/macro.c
|
|
Panu Matilainen |
7674f0 |
index b00155c..1d9bd1c 100644
|
|
Panu Matilainen |
7674f0 |
--- a/rpmio/macro.c
|
|
Panu Matilainen |
7674f0 |
+++ b/rpmio/macro.c
|
|
Panu Matilainen |
7674f0 |
@@ -1093,16 +1093,15 @@ expandMacro(MacroBuf mb, const char *src, size_t slen)
|
|
Panu Matilainen |
7674f0 |
|
|
Panu Matilainen |
7674f0 |
/* Expand builtin macros */
|
|
Panu Matilainen |
7674f0 |
if (STREQ("load", f, fn)) {
|
|
Panu Matilainen |
7674f0 |
- if (g && gn > 0) {
|
|
Panu Matilainen |
7674f0 |
- char arg[gn + 1];
|
|
Panu Matilainen |
7674f0 |
- strncpy(arg, g, gn);
|
|
Panu Matilainen |
7674f0 |
- arg[gn] = '\0';
|
|
Panu Matilainen |
7674f0 |
+ char *arg = NULL;
|
|
Panu Matilainen |
7674f0 |
+ if (g && gn > 0 && expandThis(mb, g, gn, &arg) == 0) {
|
|
Panu Matilainen |
7674f0 |
/* Print failure iff %{load:...} or %{!?load:...} */
|
|
Panu Matilainen |
7674f0 |
if (loadMacroFile(mb->mc, arg) && chkexist == negate) {
|
|
Panu Matilainen |
7674f0 |
rpmlog(RPMLOG_ERR,
|
|
Panu Matilainen |
7674f0 |
_("failed to load macro file %s"), arg);
|
|
Panu Matilainen |
7674f0 |
}
|
|
Panu Matilainen |
7674f0 |
}
|
|
Panu Matilainen |
7674f0 |
+ free(arg);
|
|
Panu Matilainen |
7674f0 |
s = se;
|
|
Panu Matilainen |
7674f0 |
continue;
|
|
Panu Matilainen |
7674f0 |
}
|