Skip to content

Commit

Permalink
cleanup unpack-trees.c: shrink struct tree_entry_list
Browse files Browse the repository at this point in the history
Remove the two write-only fields executable and symlink from struct
tree_entry_list.  Also replace usage of the field directory with
S_ISDIR checks on the mode field, and then remove this now obsolete
field, too.  Noticed by David Kastrup.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
René Scharfe authored and Junio C Hamano committed Jul 25, 2007
1 parent 24d0063 commit 1843d8d
Showing 1 changed file with 3 additions and 9 deletions.
12 changes: 3 additions & 9 deletions unpack-trees.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@

struct tree_entry_list {
struct tree_entry_list *next;
unsigned directory : 1;
unsigned executable : 1;
unsigned symlink : 1;
unsigned int mode;
const char *name;
const unsigned char *sha1;
Expand All @@ -38,9 +35,6 @@ static struct tree_entry_list *create_tree_entry_list(struct tree *tree)
entry->name = one.path;
entry->sha1 = one.sha1;
entry->mode = one.mode;
entry->directory = S_ISDIR(one.mode) != 0;
entry->executable = (one.mode & S_IXUSR) != 0;
entry->symlink = S_ISLNK(one.mode) != 0;
entry->next = NULL;

*list_p = entry;
Expand Down Expand Up @@ -141,9 +135,9 @@ static int unpack_trees_rec(struct tree_entry_list **posns, int len,
#endif
if (!first || entcmp(first, firstdir,
posns[i]->name,
posns[i]->directory) > 0) {
S_ISDIR(posns[i]->mode)) > 0) {
first = posns[i]->name;
firstdir = posns[i]->directory;
firstdir = S_ISDIR(posns[i]->mode);
}
}
/* No name means we're done */
Expand Down Expand Up @@ -177,7 +171,7 @@ static int unpack_trees_rec(struct tree_entry_list **posns, int len,
continue;
}

if (posns[i]->directory) {
if (S_ISDIR(posns[i]->mode)) {
struct tree *tree = lookup_tree(posns[i]->sha1);
any_dirs = 1;
parse_tree(tree);
Expand Down

0 comments on commit 1843d8d

Please sign in to comment.