Using the attr ref rather than TMPL_TYPE_LIST
#define tmpl_is_data(vpt) (vpt->type == TMPL_TYPE_DATA)
#define tmpl_is_attr(vpt) (vpt->type == TMPL_TYPE_ATTR)
-#define tmpl_is_list(vpt) (vpt->type == TMPL_TYPE_LIST)
#define tmpl_is_xlat(vpt) (vpt->type == TMPL_TYPE_XLAT)
#define tmpl_is_exec(vpt) (vpt->type == TMPL_TYPE_EXEC)
return (list ? list->name : def);
}
+static inline bool tmpl_is_list(tmpl_t const *vpt)
+{
+ if (!tmpl_is_attr(vpt)) return false;
+ return tmpl_attr_is_list_attr(tmpl_attr_tail(vpt));
+}
+
/** @name Field accessors for #TMPL_TYPE_XLAT
*
* @{