From 379644a5703c7b72068ea05f0ed002141b97dfea Mon Sep 17 00:00:00 2001 From: Olof hagsand Date: Tue, 3 Dec 2024 11:14:44 +0100 Subject: [PATCH] Fixed template substitution to work in attributes --- lib/src/clixon_xml_map.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/src/clixon_xml_map.c b/lib/src/clixon_xml_map.c index d6cc7207..f4d79bd2 100644 --- a/lib/src/clixon_xml_map.c +++ b/lib/src/clixon_xml_map.c @@ -2419,12 +2419,21 @@ xml_template_apply(cxobj *x, { int retval = -1; cvec *cvv = (cvec *)arg; - cxobj *xb; + cxobj *xb = NULL; char *b; cbuf *cb = NULL; - if ((xb = xml_body_get(x)) != NULL && - (b = xml_value(xb)) != NULL){ + switch (xml_type(x)){ + case CX_ELMNT: + xb = xml_body_get(x); + break; + case CX_ATTR: + xb = x; + break; + default: + break; + } + if (xb && (b = xml_value(xb)) != NULL){ if ((cb = cbuf_new()) == NULL){ clixon_err(OE_UNIX, errno, "cbuf_new"); goto done;