diff options
-rw-r--r-- | editors/awk.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/editors/awk.c b/editors/awk.c index c05d5d651..0fbca0433 100644 --- a/editors/awk.c +++ b/editors/awk.c | |||
@@ -2792,7 +2792,7 @@ static var *evaluate(node *op, var *res) | |||
2792 | if (!op1) { | 2792 | if (!op1) { |
2793 | fputs(getvar_s(intvar[F0]), F); | 2793 | fputs(getvar_s(intvar[F0]), F); |
2794 | } else { | 2794 | } else { |
2795 | while (op1) { | 2795 | for (;;) { |
2796 | var *v = evaluate(nextarg(&op1), v1); | 2796 | var *v = evaluate(nextarg(&op1), v1); |
2797 | if (v->type & VF_NUMBER) { | 2797 | if (v->type & VF_NUMBER) { |
2798 | fmt_num(g_buf, MAXVARFMT, getvar_s(intvar[OFMT]), | 2798 | fmt_num(g_buf, MAXVARFMT, getvar_s(intvar[OFMT]), |
@@ -2801,13 +2801,12 @@ static var *evaluate(node *op, var *res) | |||
2801 | } else { | 2801 | } else { |
2802 | fputs(getvar_s(v), F); | 2802 | fputs(getvar_s(v), F); |
2803 | } | 2803 | } |
2804 | 2804 | if (!op1) | |
2805 | if (op1) | 2805 | break; |
2806 | fputs(getvar_s(intvar[OFS]), F); | 2806 | fputs(getvar_s(intvar[OFS]), F); |
2807 | } | 2807 | } |
2808 | } | 2808 | } |
2809 | fputs(getvar_s(intvar[ORS]), F); | 2809 | fputs(getvar_s(intvar[ORS]), F); |
2810 | |||
2811 | } else { /* OC_PRINTF */ | 2810 | } else { /* OC_PRINTF */ |
2812 | char *s = awk_printf(op1, &len); | 2811 | char *s = awk_printf(op1, &len); |
2813 | #if ENABLE_FEATURE_AWK_GNU_EXTENSIONS | 2812 | #if ENABLE_FEATURE_AWK_GNU_EXTENSIONS |