diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2011-03-03 21:29:09 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2011-03-03 21:29:09 +0200 |
commit | 9a5422582e93056b5398c8d0c566cf356248e8a3 (patch) | |
tree | 926e2fccf407da2c847179f198ab1ba15a898362 /field.c | |
parent | 1584660b0ae4f89307609573120259c781e3e986 (diff) | |
download | egawk-9a5422582e93056b5398c8d0c566cf356248e8a3.tar.gz egawk-9a5422582e93056b5398c8d0c566cf356248e8a3.tar.bz2 egawk-9a5422582e93056b5398c8d0c566cf356248e8a3.zip |
Fixes for asort, asorti, split, patsplit.
Diffstat (limited to 'field.c')
-rw-r--r-- | field.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -957,8 +957,11 @@ do_split(int nargs) fatal(_("split: second argument is not an array")); assoc_clear(arr); - if (sep_arr != NULL) + if (sep_arr != NULL) { + if (sep_arr == arr) + fatal(_("split: can not use the same array for second and fourth args")); assoc_clear(sep_arr); + } src = TOP_STRING(); if (src->stlen == 0) { @@ -1051,8 +1054,11 @@ do_patsplit(int nargs) fatal(_("patsplit: third argument must be non-null")); } assoc_clear(arr); - if (sep_arr != NULL) + if (sep_arr != NULL) { + if (sep_arr == arr) + fatal(_("patsplit: can not use the same array for second and fourth args")); assoc_clear(sep_arr); + } rp = re_update(sep); |