From 342c7ff32f389deb40d3fbbfeb2bfa418b7ca93c Mon Sep 17 00:00:00 2001 From: hyung-hwan Date: Mon, 9 Mar 2020 07:36:12 +0000 Subject: [PATCH] fixed a bug in matching string end with $ --- qse/lib/awk/fnc.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/qse/lib/awk/fnc.c b/qse/lib/awk/fnc.c index 51b38725..0e24efa7 100644 --- a/qse/lib/awk/fnc.c +++ b/qse/lib/awk/fnc.c @@ -1274,11 +1274,14 @@ static int __substitute (qse_awk_rtx_t* rtx, qse_awk_int_t max_count) skip_one_char: /* special treatment is needed if match length is 0 */ - m = qse_str_ncat (&new, cur.ptr, 1); - if (m == (qse_size_t)-1) + if (cur.ptr < s2_end) { - qse_awk_rtx_seterrnum (rtx, QSE_AWK_ENOMEM, QSE_NULL); - goto oops; + m = qse_str_ncat (&new, cur.ptr, 1); + if (m == (qse_size_t)-1) + { + qse_awk_rtx_seterrnum (rtx, QSE_AWK_ENOMEM, QSE_NULL); + goto oops; + } } cur.ptr++; cur.len--;