aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/deliverable.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/deliverable.c b/src/deliverable.c
index 15fcb44..596a13d 100644
--- a/src/deliverable.c
+++ b/src/deliverable.c
@@ -16,12 +16,13 @@
#define conv_int(X, DEST) X->DEST = val.as_int;
#define conv_str(X, DEST) X->DEST = runtime_expand_var(NULL, val.as_char_p);
-#define conv_str_noexpand(X, DEST) X->DEST = val.as_char_p;
+#define conv_str_noexpand(X, DEST) if (val.as_char_p) X->DEST = strdup(val.as_char_p);
#define conv_strlist(X, DEST, TOK) { \
- runtime_expand_var(NULL, val.as_char_p); \
+ char *rtevnop = runtime_expand_var(NULL, val.as_char_p); \
if (!X->DEST) \
X->DEST = strlist_init(); \
- strlist_append_tokenize(X->DEST, val.as_char_p, TOK); \
+ strlist_append_tokenize(X->DEST, rtevnop, TOK); \
+ free(rtevnop);\
}
#define conv_bool(X, DEST) X->DEST = val.as_bool;