aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2013-05-27 21:05:38 +0300
committerArnold D. Robbins <arnold@skeeve.com>2013-05-27 21:05:38 +0300
commit94b64f95755e183578d74fafa3e6403a1f23545a (patch)
tree4746a737bc92411b4701a99ca63119a22ce7bb50
parent62b366e5e839aee729a9f97d3c4c38bca4aaddab (diff)
downloadegawk-94b64f95755e183578d74fafa3e6403a1f23545a.tar.gz
egawk-94b64f95755e183578d74fafa3e6403a1f23545a.tar.bz2
egawk-94b64f95755e183578d74fafa3e6403a1f23545a.zip
Bug fix in array.c.
-rw-r--r--ChangeLog5
-rw-r--r--array.c11
2 files changed, 15 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 767bd43b..75e86d7a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,11 @@
* configure.ac (AC_STRUCT_ST_BLKSIZE): Replaced with call to
AC_CHECK_MEMBERS.
+ Unrelated:
+
+ * array.c (null_array): Remove the assert and just clear
+ symbol->xarray.
+
2013-05-26 Arnold D. Robbins <arnold@skeeve.com>
* getopt.c: For Mac OS X, also include <stdlib.h> to avoid
diff --git a/array.c b/array.c
index 5dac7a40..92a1cb8e 100644
--- a/array.c
+++ b/array.c
@@ -113,7 +113,16 @@ null_array(NODE *symbol)
symbol->table_size = symbol->array_size = 0;
symbol->array_capacity = 0;
symbol->flags = 0;
- assert(symbol->xarray == NULL);
+ /*
+ * 5/2013: This used to be
+ *
+ * assert(symbol->xarray == NULL);
+ *
+ * But that seems to cause problems for no good reason
+ * that I can see. I believe it to be an artifact of the
+ * union getting in the way.
+ */
+ symbol->xarray = NULL;
/* vname, parent_array not (re)initialized */
}