aboutsummaryrefslogtreecommitdiffstats
path: root/src/blogc/renderer.c
diff options
context:
space:
mode:
authorRafael G. Martins <rafael@rafaelmartins.eng.br>2019-02-02 12:30:56 +0100
committerRafael G. Martins <rafael@rafaelmartins.eng.br>2019-02-02 12:30:56 +0100
commitd9298a35b6741a918e21e5d04e742f05b784e3ea (patch)
tree973cba3d696fc5233b5c5d379ea3655eb966b1ff /src/blogc/renderer.c
parent0325a15690b47c181bb4a39bd058de8a62fffc63 (diff)
downloadblogc-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.c12
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);