diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-02-06 09:50:17 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-02-06 09:50:17 -0500 |
commit | 16d36e5d78b290e57b012a5fdc04e52f0d689a8f (patch) | |
tree | b4fd1a0fe92ee22a9c776ef873b3e2ef85bdc988 /src | |
parent | 172c17c0c964fe5bcbafbec8409824d06effb517 (diff) | |
download | stasis-16d36e5d78b290e57b012a5fdc04e52f0d689a8f.tar.gz |
Use template renderer to replace text in values from INI data
Diffstat (limited to 'src')
-rw-r--r-- | src/deliverable.c | 15 |
1 files changed, 11 insertions, 4 deletions
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) { \ |