aboutsummaryrefslogtreecommitdiffstats
path: root/awkgram.c
diff options
context:
space:
mode:
authorAndrew J. Schorr <aschorr@telemetry-investments.com>2015-01-08 09:41:19 -0500
committerAndrew J. Schorr <aschorr@telemetry-investments.com>2015-01-08 09:41:19 -0500
commitf8fecb69346cbcd774a73a49322aeb8ddea73e44 (patch)
treed364c944782ef4092e3599f49b20e5738660b324 /awkgram.c
parent41483acb1969b24e336b11aaf3bfdc1dbdfe33a8 (diff)
downloadegawk-f8fecb69346cbcd774a73a49322aeb8ddea73e44.tar.gz
egawk-f8fecb69346cbcd774a73a49322aeb8ddea73e44.tar.bz2
egawk-f8fecb69346cbcd774a73a49322aeb8ddea73e44.zip
When an extension calls sym_lookup on a deferred variable, it should always succeed.
Diffstat (limited to 'awkgram.c')
-rw-r--r--awkgram.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/awkgram.c b/awkgram.c
index adb31d9c..bc79df58 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -7052,6 +7052,15 @@ is_deferred_variable(const char *name)
return false;
}
+NODE *
+deferred_create(const char *name)
+{
+ struct deferred_variable *dv;
+ for (dv = deferred_variables; dv != NULL; dv = dv->next)
+ if (strcmp(name, dv->name) == 0)
+ return (*dv->load_func)();
+ return NULL;
+}
/* variable --- make sure NAME is in the symbol table */