1 --- src/remove.c 2006-03-26 14:33:56.682770466 +0200
2 +++ tmp-remove.c 2006-05-07 19:11:13.294363284 +0200
3 @@ -202,9 +202,10 @@ pop_dir (Dirstack_state *ds)
5 size_t n_lengths = obstack_object_size (&ds->len_stack) / sizeof (size_t);
6 size_t *length = obstack_base (&ds->len_stack);
9 assert (n_lengths > 0);
10 - size_t top_len = length[n_lengths - 1];
11 + top_len = length[n_lengths - 1];
12 assert (top_len >= 2);
14 /* Pop the specified length of file name. */
15 @@ -336,10 +337,11 @@ AD_stack_top (Dirstack_state const *ds)
17 AD_stack_pop (Dirstack_state *ds)
20 assert (0 < AD_stack_height (ds));
22 /* operate on Active_dir. pop and free top entry */
23 - struct AD_ent *top = AD_stack_top (ds);
24 + top = AD_stack_top (ds);
26 hash_free (top->unremovable);
27 obstack_blank (&ds->Active_dir, -(int) sizeof (struct AD_ent));
28 @@ -1031,6 +1033,7 @@ fd_to_subdirp (int fd_cwd, char const *f
33 DIR *subdir_dirp = fdopendir (fd_sub);
34 if (subdir_dirp == NULL)
36 @@ -1039,6 +1042,7 @@ fd_to_subdirp (int fd_cwd, char const *f
43 /* Remove entries in the directory open on DIRP
44 @@ -1269,9 +1273,10 @@ remove_dir (int fd_cwd, Dirstack_state *
45 /* The name of the directory that we have just processed,
46 nominally removing all of its contents. */
50 AD_pop_and_chdir (&dirp, ds, &empty_dir);
51 - int fd = (dirp != NULL ? dirfd (dirp) : AT_FDCWD);
52 + fd = (dirp != NULL ? dirfd (dirp) : AT_FDCWD);
53 assert (dirp != NULL || AD_stack_height (ds) == 1);
55 /* Try to remove EMPTY_DIR only if remove_cwd_entries succeeded. */
56 @@ -1348,6 +1353,7 @@ rm_1 (Dirstack_state *ds, char const *fi
58 AD_INIT_OTHER_MEMBERS ();
61 int fd_cwd = AT_FDCWD;
62 enum RM_status status = remove_entry (fd_cwd, ds, filename, x, NULL);
63 if (status == RM_NONEMPTY_DIR)
64 @@ -1364,6 +1370,7 @@ rm_1 (Dirstack_state *ds, char const *fi
71 /* Remove all files and/or directories specified by N_FILES and FILE.
72 @@ -1386,9 +1393,11 @@ rm (size_t n_files, char const *const *f
75 cycle_check_init (&ds->cycle_check_state);
77 enum RM_status s = rm_1 (ds, file[i], x, &cwd_errno);
78 assert (VALID_STATUS (s));
79 UPDATE_STATUS (status, s);
83 if (x->require_restore_cwd && cwd_errno)