diff options
author | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2019-02-02 12:30:56 +0100 |
---|---|---|
committer | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2019-02-02 12:30:56 +0100 |
commit | d9298a35b6741a918e21e5d04e742f05b784e3ea (patch) | |
tree | 973cba3d696fc5233b5c5d379ea3655eb966b1ff /src/blogc/renderer.c | |
parent | 0325a15690b47c181bb4a39bd058de8a62fffc63 (diff) | |
download | blogc-d9298a35b6741a918e21e5d04e742f05b784e3ea.tar.gz blogc-d9298a35b6741a918e21e5d04e742f05b784e3ea.tar.bz2 blogc-d9298a35b6741a918e21e5d04e742f05b784e3ea.zip |
blogc: added template variables for memory and cpu time resource usage
this include infrastructure required to have variables evaluated as lazy
function calls.
missing tests, docs and improvements.
Diffstat (limited to 'src/blogc/renderer.c')
-rw-r--r-- | src/blogc/renderer.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/blogc/renderer.c b/src/blogc/renderer.c index 6a591ec..2326e09 100644 --- a/src/blogc/renderer.c +++ b/src/blogc/renderer.c @@ -12,6 +12,7 @@ #include <stdlib.h> #include <string.h> #include "datetime-parser.h" +#include "funcvars.h" #include "template-parser.h" #include "renderer.h" #include "../common/error.h" @@ -101,10 +102,15 @@ blogc_format_variable(const char *name, bc_trie_t *global, bc_trie_t *local, } if ((0 == strcmp(var, "FOREACH_ITEM")) && - (foreach_var != NULL && foreach_var->data != NULL)) + (foreach_var != NULL && foreach_var->data != NULL)) { value = foreach_var->data; - else - value = blogc_get_variable(var, global, local); + } + else { + value = blogc_funcvars_lookup(var, global); + if (value == NULL) { + value = blogc_get_variable(var, global, local); + } + } if (value == NULL) { free(var); |