From 28cf4041b4ed58ba2ae9860f9dfc138edcdbb34b Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Mon, 29 Sep 2008 15:18:49 +0000 Subject: 25771: shell function context for substitution functions --- Src/utils.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'Src/utils.c') diff --git a/Src/utils.c b/Src/utils.c index fadf46470..5518a16c7 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -2935,14 +2935,23 @@ getshfunc(char *nam) char ** subst_string_by_func(Shfunc func, char *arg1, char *orig) { + int osc = sfcontext; LinkList l = newlinklist(); + char **ret; + addlinknode(l, func->node.nam); if (arg1) addlinknode(l, arg1); addlinknode(l, orig); + sfcontext = SFC_SUBST; + if (doshfunc(func, l, 1)) - return NULL; - return getaparam("reply"); + ret = NULL; + else + ret = getaparam("reply"); + + sfcontext = osc; + return ret; } /**/ -- cgit 1.4.1