diff options
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -493,8 +493,15 @@ static int posix_compare(NODE *s1, NODE *s2) { int ret = 0; + char save1, save2; size_t l = 0; + save1 = s1->stptr[s1->stlen]; + s1->stptr[s1->stlen] = '\0'; + + save2 = s2->stptr[s2->stlen]; + s2->stptr[s2->stlen] = '\0'; + if (gawk_mb_cur_max == 1) { if (strlen(s1->stptr) == s1->stlen && strlen(s2->stptr) == s2->stlen) ret = strcoll(s1->stptr, s2->stptr); @@ -556,6 +563,8 @@ posix_compare(NODE *s1, NODE *s2) } #endif + s1->stptr[s1->stlen] = save1; + s2->stptr[s2->stlen] = save2; return ret; } |