aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--gawkapi.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 4b2ce3bf..759daaa8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-07-11 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * gawkapi.c (api_sym_update): Allow val_type to be AWK_UNDEFINED
+ for setting a variable to "", i.e. dupnode(Nnull_string).
+
2012-07-10 Andrew J. Schorr <aschorr@telemetry-investments.com>
* awkgram.y (add_srcfile): Lint warning message for a previously loaded
diff --git a/gawkapi.c b/gawkapi.c
index ad82f6fa..3fa3e3ba 100644
--- a/gawkapi.c
+++ b/gawkapi.c
@@ -468,6 +468,7 @@ api_sym_update(awk_ext_id_t id, const char *name, awk_value_t *value)
switch (value->val_type) {
case AWK_STRING:
case AWK_NUMBER:
+ case AWK_UNDEFINED:
if (node->type == Node_var || node->type == Node_var_new) {
unref(node->var_value);
node->var_value = awk_value_to_node(value);
@@ -477,7 +478,6 @@ api_sym_update(awk_ext_id_t id, const char *name, awk_value_t *value)
break;
case AWK_ARRAY:
- case AWK_UNDEFINED:
return false; /* not allowed */
}