aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/recsel.c6
-rw-r--r--common/t-recsel.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/common/recsel.c b/common/recsel.c
index fa3debaaf..3be491c8f 100644
--- a/common/recsel.c
+++ b/common/recsel.c
@@ -506,7 +506,11 @@ recsel_select (recsel_expr_t selector,
{
value = getval? getval (cookie, se->name) : NULL;
if (!value)
- value = "";
+ {
+ se = se->next;
+ result = 0;
+ continue;
+ }
if (!*value)
{
diff --git a/common/t-recsel.c b/common/t-recsel.c
index 2d5a95d25..72a25962a 100644
--- a/common/t-recsel.c
+++ b/common/t-recsel.c
@@ -306,7 +306,7 @@ run_test_2 (void)
FREEEXPR();
ADDEXPR ("nothing -z");
- if (!recsel_select (se, test_2_getval, NULL))
+ if (recsel_select (se, test_2_getval, NULL))
fail (0, 0);
FREEEXPR();
ADDEXPR ("nothing -n");
@@ -334,7 +334,7 @@ run_test_2 (void)
FREEEXPR();
ADDEXPR ("nothing -f");
- if (!recsel_select (se, test_2_getval, NULL))
+ if (recsel_select (se, test_2_getval, NULL))
fail (0, 0);
FREEEXPR();
ADDEXPR ("nothing -t");
@@ -369,7 +369,7 @@ run_test_2 (void)
fail (0, 0);
FREEEXPR();
- ADDEXPR ("letter -f");
+ ADDEXPR ("letters -f");
if (!recsel_select (se, test_2_getval, NULL))
fail (0, 0);
FREEEXPR();