diff options
author | Peter Stephenson <pws@zsh.org> | 2017-01-18 09:57:55 +0000 |
---|---|---|
committer | Peter Stephenson <pws@zsh.org> | 2017-01-18 09:57:55 +0000 |
commit | 4d6097657cb8f19846c5b9e09069f6d4e43882e0 (patch) | |
tree | 1e1f1ce89544fca19df8e713237820e3434580cc /Src/subst.c | |
parent | 60a4f6cb67c8872379331aab606985525f978779 (diff) | |
download | zsh-4d6097657cb8f19846c5b9e09069f6d4e43882e0.tar.gz zsh-4d6097657cb8f19846c5b9e09069f6d4e43882e0.tar.xz zsh-4d6097657cb8f19846c5b9e09069f6d4e43882e0.zip |
40375: autoload with explicit path mustn't trash already loaded function.
Also remove unnecessary dupstring() on already duplicated string when expanding =cmd.
Diffstat (limited to 'Src/subst.c')
-rw-r--r-- | Src/subst.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Src/subst.c b/Src/subst.c index 737a0a902..670f3f0c6 100644 --- a/Src/subst.c +++ b/Src/subst.c @@ -622,7 +622,7 @@ filesub(char **namptr, int assign) char * equalsubstr(char *str, int assign, int nomatch) { - char *pp, *cnam, *cmdstr, *ret; + char *pp, *cnam, *cmdstr; for (pp = str; !isend2(*pp); pp++) ; @@ -634,10 +634,10 @@ equalsubstr(char *str, int assign, int nomatch) zerr("%s not found", cmdstr); return NULL; } - ret = dupstring(cnam); if (*pp) - ret = dyncat(ret, pp); - return ret; + return dyncat(cnam, pp); + else + return cnam; /* already duplicated */ } /**/ |