summaryrefslogtreecommitdiffstats
path: root/main/busybox/diff.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/busybox/diff.patch')
-rw-r--r--main/busybox/diff.patch83
1 files changed, 83 insertions, 0 deletions
diff --git a/main/busybox/diff.patch b/main/busybox/diff.patch
new file mode 100644
index 000000000..702c66ca2
--- /dev/null
+++ b/main/busybox/diff.patch
@@ -0,0 +1,83 @@
+commit 61f5f7823c4f217dd9bad2f1df547f81b9338c76
+Author: Matheus Izvekov <mizvekov@gmail.com>
+Date: Fri Jul 9 19:40:00 2010 +0200
+
+ diff: fix "diff dir1 dir2/". Closes bug 2203
+
+ Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
+ Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
+
+diff --git a/editors/diff.c b/editors/diff.c
+index 07594e8..8d91b83 100644
+--- a/editors/diff.c
++++ b/editors/diff.c
+@@ -760,9 +760,11 @@ static int FAST_FUNC add_to_dirlist(const char *filename,
+ void *userdata, int depth UNUSED_PARAM)
+ {
+ struct dlist *const l = userdata;
++ const char *file = filename + l->len;
+ l->dl = xrealloc_vector(l->dl, 6, l->e);
+- /* + 1 skips "/" after dirname */
+- l->dl[l->e] = xstrdup(filename + l->len + 1);
++ while(*file == '/')
++ file++;
++ l->dl[l->e] = xstrdup(file);
+ l->e++;
+ return TRUE;
+ }
+diff --git a/testsuite/diff.tests b/testsuite/diff.tests
+index 06d5a4f..27a4b33 100755
+--- a/testsuite/diff.tests
++++ b/testsuite/diff.tests
+@@ -4,7 +4,7 @@
+
+ . ./testing.sh
+
+-# testing "test name" "options" "expected result" "file input" "stdin"
++# testing "test name" "commands" "expected result" "file input" "stdin"
+
+ # diff outputs date/time in the header, which should not be analysed
+ # NB: sed has tab character in s command!
+@@ -100,9 +100,11 @@ testing "diff always takes context from old file" \
+ "abc\na c\ndef\n" \
+ "a c\n"
+
+-# testing "test name" "options" "expected result" "file input" "stdin"
++# testing "test name" "commands" "expected result" "file input" "stdin"
+
++# clean up
+ rm -rf diff1 diff2
++
+ mkdir diff1 diff2 diff2/subdir
+ echo qwe >diff1/-
+ echo asd >diff2/subdir/-
+@@ -187,4 +189,29 @@ SKIP=
+ # clean up
+ rm -rf diff1 diff2
+
++# NOT using directory structure from prev test...
++mkdir diff1 diff2
++echo qwe >diff1/-
++echo rty >diff2/-
++optional FEATURE_DIFF_DIR
++testing "diff diff1 diff2/" \
++ "diff -ur diff1 diff2/ | $TRIM_TAB; diff -ur .///diff1 diff2//// | $TRIM_TAB" \
++"\
++--- diff1/-
+++++ diff2/-
++@@ -1 +1 @@
++-qwe
+++rty
++--- .///diff1/-
+++++ diff2////-
++@@ -1 +1 @@
++-qwe
+++rty
++" \
++ "" ""
++SKIP=
++
++# clean up
++rm -rf diff1 diff2
++
+ exit $FAILCOUNT