diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/deliverable.c | 7 |
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; |