aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2024-02-06 09:50:17 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2024-02-06 09:50:17 -0500
commit16d36e5d78b290e57b012a5fdc04e52f0d689a8f (patch)
treeb4fd1a0fe92ee22a9c776ef873b3e2ef85bdc988 /src
parent172c17c0c964fe5bcbafbec8409824d06effb517 (diff)
downloadstasis-16d36e5d78b290e57b012a5fdc04e52f0d689a8f.tar.gz
Use template renderer to replace text in values from INI data
Diffstat (limited to 'src')
-rw-r--r--src/deliverable.c15
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) { \