aboutsummaryrefslogtreecommitdiff
path: root/lib/forlan.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/forlan.c')
-rw-r--r--lib/forlan.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/forlan.c b/lib/forlan.c
index f1d49d7..e86189b 100644
--- a/lib/forlan.c
+++ b/lib/forlan.c
@@ -17,6 +17,7 @@
#include "libeclat.h"
#include <string.h>
#include <setjmp.h>
+#include <ctype.h>
#include "grecs.h"
#include "forlan.h"
@@ -321,7 +322,7 @@ eval_comp0(forlan_eval_env_t env, union forlan_node *p)
if (p->comp.root) {
forlan_eval(env, p->comp.root);
if (!retval_boolean(env))
- return;
+ return NULL;
coerce_retval(env, 'n');
root = env->retval.v.node;
} else
@@ -465,8 +466,6 @@ dump_stmt(FILE *fp, union forlan_node *p, int *num, int lev)
void
eval_stmt(forlan_eval_env_t env, union forlan_node *node)
{
- union forlan_node *np;
-
while (node && node->type == forlan_type_stmt) {
forlan_eval(env, node->stmt.stmt);
node = node->stmt.next;
@@ -637,9 +636,9 @@ dump_loop(FILE *fp, union forlan_node *p, int *num, int lev)
fprintf(fp, "LOOP %lu\n", (unsigned long) p->loop.idx);
fprintf(fp, "%04d: %*.*sEXPR\n", ++*num, lev, lev, "");
forlan_dump_node(fp, p->loop.node, num, lev + 1);
- fprintf(fp, "%04d: %*.*sSTMT %lu\n", ++*num, lev, lev, "", n);
+ fprintf(fp, "%04d: %*.*sSTMT %d\n", ++*num, lev, lev, "", n);
forlan_dump_node(fp, p->loop.stmt, num, lev + 1);
- fprintf(fp, "%04d: %*.*sEND LOOP %lu\n", ++*num, lev, lev, "", n);
+ fprintf(fp, "%04d: %*.*sEND LOOP %d\n", ++*num, lev, lev, "", n);
}
void
@@ -897,8 +896,8 @@ func_decode(forlan_eval_env_t env, struct grecs_list *list)
if (!*p)
break;
ilen = strcspn(p, " \t\f\n");
- eclat_base64_decode(p, ilen, &optr, &olen);
- grecs_txtacc_grow(acc, optr, olen);
+ eclat_base64_decode((unsigned char*) p, ilen, &optr, &olen);
+ grecs_txtacc_grow(acc, (char*)optr, olen);
free(optr);
p += ilen;

Return to:

Send suggestions and report system problems to the System administrator.