diff options
author | Juergen Kahrs <Juergen.Kahrs@vr-web.de> | 2012-03-20 17:21:22 +0100 |
---|---|---|
committer | Juergen Kahrs <Juergen.Kahrs@vr-web.de> | 2012-03-20 17:21:22 +0100 |
commit | 2dcf0c1084fafc7bb4d8ff5435a228ce90c408f8 (patch) | |
tree | 858812d9d74191f0462a3667df05073b71bc5147 /str_array.c | |
parent | 8dffe780526d2bd419d17917eacd91bbacbab9ec (diff) | |
parent | cd44d957787e162df4348028c22e8b9621000790 (diff) | |
download | egawk-2dcf0c1084fafc7bb4d8ff5435a228ce90c408f8.tar.gz egawk-2dcf0c1084fafc7bb4d8ff5435a228ce90c408f8.tar.bz2 egawk-2dcf0c1084fafc7bb4d8ff5435a228ce90c408f8.zip |
Merge remote-tracking branch 'origin/master' into xgawk
Diffstat (limited to 'str_array.c')
-rw-r--r-- | str_array.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/str_array.c b/str_array.c index 8fb6ba8a..7ce617ed 100644 --- a/str_array.c +++ b/str_array.c @@ -191,7 +191,8 @@ str_exists(NODE *symbol, NODE *subs) unsigned long hash1; size_t code1; - assert(symbol->table_size > 0); + if (symbol->table_size == 0) + return NULL; subs = force_string(subs); hash1 = hash(subs->stptr, subs->stlen, (unsigned long) symbol->array_size, & code1); @@ -242,7 +243,8 @@ str_remove(NODE *symbol, NODE *subs) NODE *s2; size_t s1_len; - assert(symbol->table_size > 0); + if (symbol->table_size == 0) + return NULL; s2 = force_string(subs); hash1 = hash(s2->stptr, s2->stlen, (unsigned long) symbol->array_size, NULL); @@ -358,7 +360,8 @@ str_list(NODE *symbol, NODE *t) unsigned long num_elems, list_size, i, k = 0; int elem_size = 1; - assert(symbol->table_size > 0); + if (symbol->table_size == 0) + return NULL; if ((t->flags & (AINDEX|AVALUE)) == (AINDEX|AVALUE)) elem_size = 2; @@ -443,7 +446,7 @@ str_dump(NODE *symbol, NODE *ndump) fprintf(output_fp, "flags: %s\n", flags2str(symbol->flags)); } indent(indent_level); - fprintf(output_fp, "STR_CHAIN_MAX: %lu\n", STR_CHAIN_MAX); + fprintf(output_fp, "STR_CHAIN_MAX: %lu\n", (unsigned long) STR_CHAIN_MAX); indent(indent_level); fprintf(output_fp, "array_size: %lu\n", (unsigned long) symbol->array_size); indent(indent_level); @@ -681,9 +684,9 @@ str_option(NODE *opt, NODE *val) tmp = force_string(opt); (void) force_number(val); - if (STREQ(tmp->stptr, "STR_CHAIN_MAX")) { + if (strcmp(tmp->stptr, "STR_CHAIN_MAX") == 0) { newval = (int) val->numbr; - if (newval > 0) + if (newval > 0) STR_CHAIN_MAX = newval; } else ret = NULL; |