summaryrefslogtreecommitdiff
path: root/package/busybox/busybox-1.17.0/busybox-1.17.0-diff.patch
blob: ba3da8d70b1cd204765e1e7e7872d04cdda36b83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
diff -urpN busybox-1.17.0/editors/diff.c busybox-1.17.0-diff/editors/diff.c
--- busybox-1.17.0/editors/diff.c	2010-06-24 04:40:43.000000000 +0200
+++ busybox-1.17.0-diff/editors/diff.c	2010-07-10 03:52:33.000000000 +0200
@@ -760,9 +760,11 @@ static int FAST_FUNC add_to_dirlist(cons
 		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 -urpN busybox-1.17.0/testsuite/diff.tests busybox-1.17.0-diff/testsuite/diff.tests
--- busybox-1.17.0/testsuite/diff.tests	2010-06-24 04:40:43.000000000 +0200
+++ busybox-1.17.0-diff/testsuite/diff.tests	2010-07-10 01:31:51.000000000 +0200
@@ -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 
 	"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