From 4a9437317fd374e983934d5b18c7d1d6ee041645 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Tue, 24 Aug 2021 19:21:53 +0100 Subject: 49297 (quoting amended): error message in files module. If ENONENT it could be the other argument that doesn't exist, so check. --- Src/Modules/files.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'Src/Modules/files.c') diff --git a/Src/Modules/files.c b/Src/Modules/files.c index a1d6f6bf2..d991f69d7 100644 --- a/Src/Modules/files.c +++ b/Src/Modules/files.c @@ -346,7 +346,13 @@ domove(char *nam, MoveFunc movefn, char *p, char *q, int flags) unlink(qbuf); } if(movefn(pbuf, qbuf)) { - zwarnnam(nam, "%s: %e", p, errno); + int ferrno = errno; + char *errfile = p; + if (ferrno == ENOENT && !lstat(pbuf, &st)) { + /* p *does* exist, so error is in q */ + errfile = q; + } + zwarnnam(nam, "`%s': %e", errfile, ferrno); zsfree(pbuf); return 1; } -- cgit 1.4.1