From b62ad3aa2a518586f2865fdb061cc0eec813b599 Mon Sep 17 00:00:00 2001 From: Laurent Mazet Date: Thu, 16 Jan 2025 00:03:26 +0100 Subject: [PATCH] fix processmove --- fm.c | 5 +++-- function.c | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/fm.c b/fm.c index bf1a5a4..cbfb856 100644 --- a/fm.c +++ b/fm.c @@ -481,9 +481,10 @@ int main (int argc, char *argv[]) /* test: { sleep 1; echo -en '\en'; sleep 1; echo -n foo/bar; sleep 1; echo; sleep 1; echo; sleep 1; echo -en '\eq'; sleep 1; echo -n y; } | fm.exe */ /* Rename */ -/* test: touch .a && { sleep 1; echo -en 'k\er'; sleep 1; echo .aa; sleep 1; echo -en '\er'; sleep 1; echo -en '\eq'; sleep 1; echo -n y; } | fm.exe && rm .aa */ +/* test: touch .a && { sleep 1; echo -en 'k\er'; sleep 1; echo .aa; sleep 1; echo -en '\eq'; sleep 1; echo -n y; } | fm.exe && rm .aa */ +/* test: touch .a && { sleep 1; echo -en 'k\er'; sleep 1; echo -e '\e'; sleep 1; echo -en '\eq'; sleep 1; echo -n y; } | fm.exe && rm .a */ /* test: touch .a && { sleep 1; echo -en 'k\er'; sleep 1; echo .c/1; sleep 1; echo; sleep 1; echo -en '\eq'; sleep 1; echo -n y; } | fm.exe && rm .a */ -/* test: touch .a && mkdir .b && { sleep 1; echo -en 'k\er'; sleep 1; echo .b/.a; sleep 1; echo; sleep 1; echo -en '\eq'; sleep 1; echo -n y; } | fm.exe && rm .a && mkdir .b */ +/* test: touch .a && mkdir .b && { sleep 1; echo -en 'k\er'; sleep 1; echo .b/.a; sleep 1; echo; sleep 1; echo -en '\eq'; sleep 1; echo -n y; } | fm.exe && rm .a && rmdir .b */ /* test: touch .a .b && { sleep 1; echo -en 'k\er'; sleep 1; echo .b; sleep 1; echo; sleep 1; echo -en '\eq'; sleep 1; echo -n y; } | fm.exe && rm .a .b */ /* Move */ diff --git a/function.c b/function.c index 49b9195..e9405b5 100644 --- a/function.c +++ b/function.c @@ -511,8 +511,8 @@ char *processmove (char *dest, char *src) char *msg = NULL; struct stat sb; - int rc = STAT (dest, &sb); errno = 0; + int rc = STAT (dest, &sb); if ((rc == -1) && (errno == ENOENT)) { if (rename (src, dest) != 0) { msg = strdupcat ("Can't move '", src, "' to '", dest, "'", NULL); @@ -520,7 +520,7 @@ char *processmove (char *dest, char *src) } else if (rc == 0) { msg = strdupcat ("File '", dest, "' exists", NULL); } else { - VERBOSE (ERROR, fprintf (stderr, "can't stat on file '%s'\n", src)); + VERBOSE (ERROR, fprintf (stderr, "can't stat on file '%s' (%d-%d)\n", src, rc, errno)); exit (1); } errno = 0; -- 2.30.2