From 46f2db24d9e7f792f60149f5ee89ef4f22e3f4a9 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 15 Jul 2011 15:35:34 +0300 Subject: Fix gsub losing white space when working on fields. --- profile.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'profile.c') diff --git a/profile.c b/profile.c index cba8be9e..01d1e42f 100644 --- a/profile.c +++ b/profile.c @@ -507,6 +507,20 @@ cleanup: case Op_after_endfile: break; + case Op_sub_builtin: + { + const char *fname = "sub"; + if (pc->sub_flags & GSUB) + fname = "gsub"; + else if (pc->sub_flags & GENSUB) + fname = "gensub"; + tmp = pp_list(pc->expr_count, "()", ", "); + str = pp_concat(fname, tmp, ""); + efree(tmp); + pp_push(Op_sub_builtin, str, CAN_FREE); + } + break; + case Op_builtin: { static char *ext_func = "extension_function()"; -- cgit v1.2.3