aboutsummaryrefslogtreecommitdiff
path: root/editors
diff options
context:
space:
mode:
Diffstat (limited to 'editors')
-rw-r--r--editors/diff.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/editors/diff.c b/editors/diff.c
index dc40ab4f1..280091756 100644
--- a/editors/diff.c
+++ b/editors/diff.c
@@ -803,11 +803,11 @@ struct dlist {
803}; 803};
804 804
805/* This function adds a filename to dl, the directory listing. */ 805/* This function adds a filename to dl, the directory listing. */
806static int FAST_FUNC add_to_dirlist(const char *filename, 806static int FAST_FUNC add_to_dirlist(struct recursive_state *state,
807 struct stat *sb UNUSED_PARAM, 807 const char *filename,
808 void *userdata, int depth UNUSED_PARAM) 808 struct stat *sb UNUSED_PARAM)
809{ 809{
810 struct dlist *const l = userdata; 810 struct dlist *const l = state->userData;
811 const char *file = filename + l->len; 811 const char *file = filename + l->len;
812 while (*file == '/') 812 while (*file == '/')
813 file++; 813 file++;
@@ -820,12 +820,12 @@ static int FAST_FUNC add_to_dirlist(const char *filename,
820/* If recursion is not set, this function adds the directory 820/* If recursion is not set, this function adds the directory
821 * to the list and prevents recursive_action from recursing into it. 821 * to the list and prevents recursive_action from recursing into it.
822 */ 822 */
823static int FAST_FUNC skip_dir(const char *filename, 823static int FAST_FUNC skip_dir(struct recursive_state *state,
824 struct stat *sb, void *userdata, 824 const char *filename,
825 int depth) 825 struct stat *sb)
826{ 826{
827 if (!(option_mask32 & FLAG(r)) && depth) { 827 if (!(option_mask32 & FLAG(r)) && state->depth) {
828 add_to_dirlist(filename, sb, userdata, depth); 828 add_to_dirlist(state, filename, sb);
829 return SKIP; 829 return SKIP;
830 } 830 }
831 if (!(option_mask32 & FLAG(N))) { 831 if (!(option_mask32 & FLAG(N))) {
@@ -833,7 +833,7 @@ static int FAST_FUNC skip_dir(const char *filename,
833 * which do not exist on the "other side". 833 * which do not exist on the "other side".
834 * Testcase: diff -r /tmp / 834 * Testcase: diff -r /tmp /
835 * (it would recurse deep into /proc without this code) */ 835 * (it would recurse deep into /proc without this code) */
836 struct dlist *const l = userdata; 836 struct dlist *const l = state->userData;
837 filename += l->len; 837 filename += l->len;
838 if (filename[0]) { 838 if (filename[0]) {
839 struct stat osb; 839 struct stat osb;
@@ -868,7 +868,7 @@ static void diffdir(char *p[2], const char *s_start)
868 * add_to_dirlist will remove it. */ 868 * add_to_dirlist will remove it. */
869 list[i].len = strlen(p[i]); 869 list[i].len = strlen(p[i]);
870 recursive_action(p[i], ACTION_RECURSE | ACTION_FOLLOWLINKS, 870 recursive_action(p[i], ACTION_RECURSE | ACTION_FOLLOWLINKS,
871 add_to_dirlist, skip_dir, &list[i], 0); 871 add_to_dirlist, skip_dir, &list[i]);
872 /* Sort dl alphabetically. 872 /* Sort dl alphabetically.
873 * GNU diff does this ignoring any number of trailing dots. 873 * GNU diff does this ignoring any number of trailing dots.
874 * We don't, so for us dotted files almost always are 874 * We don't, so for us dotted files almost always are