aboutsummaryrefslogtreecommitdiffstats
path: root/main/busybox/0001-diff-add-support-for-no-dereference.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-07-28 12:48:17 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2014-07-28 12:48:17 +0000
commit9cfd35abf9b00914739d3f84255cb440fa683bce (patch)
treee68d849a02466576230aa7bbcef383ea2d4e7d01 /main/busybox/0001-diff-add-support-for-no-dereference.patch
parentd4e0376c8e7aab4108f49cee93516d4ac2a420ed (diff)
downloadaports-9cfd35abf9b00914739d3f84255cb440fa683bce.tar.gz
aports-9cfd35abf9b00914739d3f84255cb440fa683bce.tar.bz2
aports-9cfd35abf9b00914739d3f84255cb440fa683bce.tar.xz
main/busybox: add support for --no-dereference in 'diff'
ref #2847
Diffstat (limited to 'main/busybox/0001-diff-add-support-for-no-dereference.patch')
-rw-r--r--main/busybox/0001-diff-add-support-for-no-dereference.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/main/busybox/0001-diff-add-support-for-no-dereference.patch b/main/busybox/0001-diff-add-support-for-no-dereference.patch
new file mode 100644
index 0000000000..6a9146337a
--- /dev/null
+++ b/main/busybox/0001-diff-add-support-for-no-dereference.patch
@@ -0,0 +1,63 @@
+From 3993add1f639fc1c6c44d9dc865aa02646e22d6c Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Fri, 25 Jul 2014 15:28:33 +0200
+Subject: [PATCH] diff: add support for --no-dereference
+
+Add flag for not following symlinks when recursing
+
+function old new delta
+.rodata 7934 7967 +33
+diff_longopts 253 270 +17
+packed_usage 1704 1720 +16
+diff_main 1665 1662 -3
+------------------------------------------------------------------------------
+(add/remove: 0/0 grow/shrink: 3/1 up/down: 66/-3) Total: 63 bytes
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ editors/diff.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/editors/diff.c b/editors/diff.c
+index a78a0ee..a0203af 100644
+--- a/editors/diff.c
++++ b/editors/diff.c
+@@ -117,6 +117,9 @@
+ //usage: "\n -N Treat absent files as empty"
+ //usage: "\n -q Output only whether files differ"
+ //usage: "\n -r Recurse"
++//usage: IF_LONG_OPTS(
++//usage: "\n --no-dereference Don't follow symlinks"
++//usage: )
+ //usage: "\n -S Start with FILE when comparing directories"
+ //usage: "\n -T Make tabs line up by prefixing a tab when necessary"
+ //usage: "\n -s Report when two files are the same"
+@@ -157,6 +160,7 @@ enum { /* Commandline flags */
+ FLAG_p, /* not implemented */
+ FLAG_B,
+ FLAG_E, /* not implemented */
++ FLAG_no_deref,
+ };
+ #define FLAG(x) (1 << FLAG_##x)
+
+@@ -869,7 +873,8 @@ static void diffdir(char *p[2], const char *s_start)
+ * Using list.len to specify its length,
+ * add_to_dirlist will remove it. */
+ list[i].len = strlen(p[i]);
+- recursive_action(p[i], ACTION_RECURSE | ACTION_FOLLOWLINKS,
++ recursive_action(p[i], ACTION_RECURSE |
++ (option_mask32 & FLAG(no_deref)) ? 0 : ACTION_FOLLOWLINKS,
+ add_to_dirlist, skip_dir, &list[i], 0);
+ /* Sort dl alphabetically.
+ * GNU diff does this ignoring any number of trailing dots.
+@@ -966,6 +971,7 @@ static const char diff_longopts[] ALIGN1 =
+ "report-identical-files\0" No_argument "s"
+ "starting-file\0" Required_argument "S"
+ "minimal\0" No_argument "d"
++ "no-dereference\0" No_argument "\xff"
+ ;
+ #endif
+
+--
+2.0.3
+