This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository efm2.
View the commit online.
commit db1bd0809d9328e4d2a830e008b43f637f72cd09
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
AuthorDate: Wed May 22 09:40:56 2024 +0100
only scan if src + dst on different devices
---
src/backends/default/mv.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/src/backends/default/mv.c b/src/backends/default/mv.c
index 2da6c80..ff7a44c 100644
--- a/src/backends/default/mv.c
+++ b/src/backends/default/mv.c
@@ -51,7 +51,7 @@ main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
File_Set *fs;
size_t sz;
char *src = "" *dst = NULL;
- char sbuf[4096 + 256];
+ char sbuf[PATH_MAX + 256];
eina_init();
eet_init();
@@ -89,8 +89,6 @@ main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
if (!home_dir) return 77; // no $HOME? definitely an error!
if (!config_dir)
{
- char sbuf[PATH_MAX];
-
snprintf(sbuf, sizeof(sbuf), "%s/.e/e", home_dir);
config_dir = eina_stringshare_add(sbuf);
}
@@ -102,8 +100,13 @@ main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
status_begin();
EINA_LIST_FOREACH(files, l, fs)
{
+ struct stat stsrc, stdst;
+
if (strlen(fs->src) < 1) goto err2;
- if (!fs_scan(fs->src)) goto err2;
+ if (lstat(fs->src, &stsrc) != 0) break;
+ if (lstat(fs->dst, &stdst) != 0) break;
+ if (stsrc.st_dev == stdst.st_dev) status_count(1, fs->src);
+ else if (!fs_scan(fs->src)) goto err2;
}
EINA_LIST_FOREACH(files, l, fs)
@@ -149,6 +152,12 @@ err2:
err:
if (buf) eina_strbuf_free(buf);
+ EINA_LIST_FREE(files, fs)
+ {
+ eina_stringshare_del(fs->src);
+ eina_stringshare_del(fs->dst);
+ free(fs);
+ }
meta_shutdown();
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.