aboutsummaryrefslogtreecommitdiff
path: root/editors/awk.c
diff options
context:
space:
mode:
Diffstat (limited to 'editors/awk.c')
-rw-r--r--editors/awk.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/editors/awk.c b/editors/awk.c
index aea852b0d..44c2f45b2 100644
--- a/editors/awk.c
+++ b/editors/awk.c
@@ -650,7 +650,7 @@ static void clear_array(xhash *array) {
650 while (hi) { 650 while (hi) {
651 thi = hi; 651 thi = hi;
652 hi = hi->next; 652 hi = hi->next;
653 if (thi->data.v.string) free(thi->data.v.string); 653 free(thi->data.v.string);
654 free(thi); 654 free(thi);
655 } 655 }
656 array->items[i] = NULL; 656 array->items[i] = NULL;
@@ -661,7 +661,7 @@ static void clear_array(xhash *array) {
661/* clear a variable */ 661/* clear a variable */
662static var *clrvar(var *v) { 662static var *clrvar(var *v) {
663 663
664 if (v->string && !(v->type & VF_FSTR)) 664 if (!(v->type & VF_FSTR))
665 free(v->string); 665 free(v->string);
666 666
667 v->type &= VF_DONTTOUCH; 667 v->type &= VF_DONTTOUCH;
@@ -1504,7 +1504,7 @@ static void split_f0(void) {
1504 return; 1504 return;
1505 1505
1506 is_f0_split = TRUE; 1506 is_f0_split = TRUE;
1507 if (fstrings) free(fstrings); 1507 free(fstrings);
1508 fsrealloc(0); 1508 fsrealloc(0);
1509 n = awk_split(getvar_s(V[F0]), &fsplitter.n, &fstrings); 1509 n = awk_split(getvar_s(V[F0]), &fsplitter.n, &fstrings);
1510 fsrealloc(n); 1510 fsrealloc(n);
@@ -2376,8 +2376,7 @@ re_cont:
2376 X.rsm = (rstream *)hash_search(fdhash, L.s); 2376 X.rsm = (rstream *)hash_search(fdhash, L.s);
2377 if (X.rsm) { 2377 if (X.rsm) {
2378 R.i = X.rsm->is_pipe ? pclose(X.rsm->F) : fclose(X.rsm->F); 2378 R.i = X.rsm->is_pipe ? pclose(X.rsm->F) : fclose(X.rsm->F);
2379 if (X.rsm->buffer) 2379 free(X.rsm->buffer);
2380 free(X.rsm->buffer);
2381 hash_remove(fdhash, L.s); 2380 hash_remove(fdhash, L.s);
2382 } 2381 }
2383 if (R.i != 0) 2382 if (R.i != 0)