diff options
Diffstat (limited to 'Fix-issue-of-moving-files-by-ar-or-br.patch')
-rw-r--r-- | Fix-issue-of-moving-files-by-ar-or-br.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Fix-issue-of-moving-files-by-ar-or-br.patch b/Fix-issue-of-moving-files-by-ar-or-br.patch new file mode 100644 index 0000000..a73cb5b --- /dev/null +++ b/Fix-issue-of-moving-files-by-ar-or-br.patch @@ -0,0 +1,28 @@ +From 665f6beeeb98bac769e6a072b88339ecad5c23e4 Mon Sep 17 00:00:00 2001 +From: yixiangzhike <yixiangzhike007@163.com> +Date: Wed, 17 Aug 2022 16:44:03 +0800 +Subject: [PATCH] fix issue of moving files by ar or br + +When eu-ar uses the combination of br or ar parameters to move the exist files, +it forgets to add the files to the new linked list. As a result, the files are lost. +--- + src/ar.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/ar.c b/src/ar.c +index 072ca2e..e824b59 100644 +--- a/src/ar.c ++++ b/src/ar.c +@@ -1341,7 +1341,8 @@ do_oper_insert (int oper, const char *arfname, char **argv, int argc, + + struct armem *last_added = after_memberelem; + for (int cnt = 0; cnt < argc; ++cnt) +- if (oper != oper_replace || found[cnt]->old_off == -1) ++ if (((oper == oper_replace) && (ipos != ipos_none) && (found[cnt]->old_off != -1)) || \ ++ oper != oper_replace || found[cnt]->old_off == -1) + { + if (last_added == NULL) + { +-- +2.27.0 + |