From 16d36e5d78b290e57b012a5fdc04e52f0d689a8f Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Tue, 6 Feb 2024 09:50:17 -0500 Subject: Use template renderer to replace text in values from INI data --- src/deliverable.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/deliverable.c') diff --git a/src/deliverable.c b/src/deliverable.c index 9b43772..b833811 100644 --- a/src/deliverable.c +++ b/src/deliverable.c @@ -18,10 +18,17 @@ extern struct OMC_GLOBAL globals; } #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(X, DEST) { \ + char *tplop = tpl_render(runtime_expand_var(NULL, val.as_char_p)); \ + if (tplop) { \ + X->DEST = tplop; \ + } else { \ + 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) { \ - char *rtevnop = runtime_expand_var(NULL, val.as_char_p); \ + char *rtevnop = tpl_render(runtime_expand_var(NULL, val.as_char_p)); \ if (!X->DEST) \ X->DEST = strlist_init(); \ if (rtevnop) { \ @@ -34,9 +41,9 @@ extern struct OMC_GLOBAL globals; } #define conv_bool(X, DEST) X->DEST = val.as_bool; -#define conv_str_stackvar(X, DEST) X.DEST = runtime_expand_var(NULL, val.as_char_p); +#define conv_str_stackvar(X, DEST) X.DEST = tpl_render(runtime_expand_var(NULL, val.as_char_p)); #define conv_strlist_stackvar(X, DEST, TOK) { \ - char *rtevnop = runtime_expand_var(NULL, val.as_char_p); \ + char *rtevnop = tpl_render(runtime_expand_var(NULL, val.as_char_p)); \ if (!X.DEST) \ X.DEST = strlist_init(); \ if (rtevnop) { \ -- cgit