From 0299f23363800df07cdd6238ce6d1382f4575f31 Mon Sep 17 00:00:00 2001 From: "windhamwong@nva-hk.com" Date: Thu, 13 Jul 2017 15:42:05 +0100 Subject: [PATCH] Fix bug on char() --- src/core/operations/ByteRepr.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/core/operations/ByteRepr.js b/src/core/operations/ByteRepr.js index eeef5e5f..bb0b8616 100755 --- a/src/core/operations/ByteRepr.js +++ b/src/core/operations/ByteRepr.js @@ -82,15 +82,18 @@ const ByteRepr = { */ runFromCharHex: function(input, args) { var re = /cha?r\((((\d{1,3})(,\s?)?)+)\)/ig; - var inner_re = /(\d{1,3}),?/g; - var match, inner_match; - var result = ""; - while ((match = re.exec(input)) != null) { - while ((inner_match = inner_re.exec(match[1])) != null) { - result += Utils.byteArrayToChars([parseInt(inner_match[1])]); + var inner_re = /(\d{1,3}),?/g + var data = input.replace(re, + function(match, p1) { + if (p1) { + var result = "", inner_match; + while ((inner_match = inner_re.exec(p1)) != null) { + result += Utils.byteArrayToChars([parseInt(inner_match[1])]); + } + return result; } - } - return input.replace(re, result); + }); + return data; },