summaryrefslogtreecommitdiff
path: root/expand.c
diff options
context:
space:
mode:
Diffstat (limited to 'expand.c')
-rw-r--r--expand.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/expand.c b/expand.c
index 8f9f4b1..2c8b4b6 100644
--- a/expand.c
+++ b/expand.c
@@ -153,7 +153,8 @@ reference_variable (char *o, char *name, unsigned int length)
if (v == 0)
warn_undefined (name, length);
- if (v == 0 || *v->value == '\0')
+ /* If there's no variable by that name or it has no value, stop now. */
+ if (v == 0 || (*v->value == '\0' && !v->append))
return o;
value = (v->recursive ? recursively_expand (v) : v->value);