summaryrefslogtreecommitdiff
path: root/lib/rpmdb.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rpmdb.c')
-rw-r--r--lib/rpmdb.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/rpmdb.c b/lib/rpmdb.c
index 9469ede33..a17a89f20 100644
--- a/lib/rpmdb.c
+++ b/lib/rpmdb.c
@@ -2194,7 +2194,7 @@ static rpmRC updateRichDepCB(void *cbdata, rpmrichParseType type,
data->nargv++;
_free(name);
}
- if (type == RPMRICH_PARSE_OP && op == RPMRICHOP_IF) {
+ if (type == RPMRICH_PARSE_OP && (op == RPMRICHOP_IF || op == RPMRICHOP_UNLESS)) {
/* save nargv in case of ELSE */
data->nargv_level[data->level - 1] = data->nargv;
data->neg ^= 1;
@@ -2211,7 +2211,7 @@ static rpmRC updateRichDepCB(void *cbdata, rpmrichParseType type,
}
data->neg ^= 1;
}
- if (type == RPMRICH_PARSE_LEAVE && op == RPMRICHOP_IF) {
+ if (type == RPMRICH_PARSE_LEAVE && (op == RPMRICHOP_IF || op == RPMRICHOP_UNLESS)) {
data->neg ^= 1;
}
return RPMRC_OK;