From 906b120e249c7d73fcd03477bafbdd80ce61b7eb Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Tue, 6 Feb 2024 10:14:48 -0500 Subject: Fix addressing issue... * Store the address of the pointer to template variable, instead of the pointer. Whoops! * Pre-declare all template pointers as early as possible to make them available to the entire program * Comment tpl_*() prototypes --- include/template.h | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'include/template.h') diff --git a/include/template.h b/include/template.h index 36d3c2a..24ca98f 100644 --- a/include/template.h +++ b/include/template.h @@ -7,10 +7,32 @@ #include "omc.h" -void tpl_register(char *key, char *ptr); +/** + * Map a text value to a pointer in memory + * + * @param key in-text variable name + * @param ptr pointer to string + */ +void tpl_register(char *key, char **ptr); + +/** + * Free the template engine + */ void tpl_free(); + +/** + * Retrieve the value of a key mapped by the template engine + * @param key string registered by `tpl_register` + * @return a pointer to value, or NULL if the key is not present + */ char *tpl_getval(char *key); -char *tpl_render(char *str); +/** + * Replaces occurrences of all registered key value pairs in `str` + * @param str the text data to render + * @return a rendered copy of `str`, or NULL. + * The caller is responsible for free()ing memory allocated by this function + */ +char *tpl_render(char *str); #endif //OMC_TEMPLATE_H -- cgit