diff options
author | Kamil Dudka <kdudka@redhat.com> | 2016-01-25 18:01:07 +0100 |
---|---|---|
committer | Peter Stephenson <pws@zsh.org> | 2016-01-25 17:15:23 +0000 |
commit | 69c86cd2c3f1533d9b4b345f98d3922418bc6dac (patch) | |
tree | 9ae9167b36b711cd793b8c2fbb4a2282565b8422 | |
parent | 1d98f77a9be240662d84c7c2014019571f7eda1b (diff) | |
download | zsh-69c86cd2c3f1533d9b4b345f98d3922418bc6dac.tar.gz zsh-69c86cd2c3f1533d9b4b345f98d3922418bc6dac.tar.xz zsh-69c86cd2c3f1533d9b4b345f98d3922418bc6dac.zip |
37780: Care printing error if nothing to print.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Src/utils.c | 7 |
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 4ab9b14ed..8c8791cf2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,9 @@ 2016-01-25 Peter Stephenson <p.stephenson@samsung.com> + * 37780: Kamil Dudka: Src/utils.c: Careful in case both argzero + and scriptname are null in zerr(). + * 37765: Src/builtin.c, Test/C04funcdef.ztst: Use FS_FUNC on funcstack to find autoload -X target rather than scriptname. diff --git a/Src/utils.c b/Src/utils.c index 17ebfebf9..053731cfa 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -133,9 +133,11 @@ zwarning(const char *cmd, const char *fmt, va_list ap) if (isatty(2)) zleentry(ZLE_CMD_TRASH); + char *prefix = scriptname ? scriptname : (argzero ? argzero : ""); + if (cmd) { if (unset(SHINSTDIN) || locallevel) { - nicezputs(scriptname ? scriptname : argzero, stderr); + nicezputs(prefix, stderr); fputc((unsigned char)':', stderr); } nicezputs(cmd, stderr); @@ -147,8 +149,7 @@ zwarning(const char *cmd, const char *fmt, va_list ap) * program/script is running. It's also set in shell functions, * so test locallevel, too. */ - nicezputs((isset(SHINSTDIN) && !locallevel) ? "zsh" : - scriptname ? scriptname : argzero, stderr); + nicezputs((isset(SHINSTDIN) && !locallevel) ? "zsh" : prefix, stderr); fputc((unsigned char)':', stderr); } |