Skip to content

Commit

Permalink
cmd_diff(): make it obvious which cases are exclusive of each other
Browse files Browse the repository at this point in the history
At first glance the OBJ_COMMIT, OBJ_TREE, and OBJ_BLOB cases look like
they might be mutually exclusive.  But the OBJ_COMMIT case doesn't end
the loop iteration with "continue" like the other two cases, but
rather falls through.  So use if...else if...else construct to make it
more obvious that only the last two cases are mutually exclusive.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Michael Haggerty authored and Junio C Hamano committed May 28, 2013
1 parent 026f09e commit 5b1e14e
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions builtin/diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -350,22 +350,21 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
die(_("invalid object '%s' given."), name);
if (obj->type == OBJ_COMMIT)
obj = &((struct commit *)obj)->tree->object;

if (obj->type == OBJ_TREE) {
obj->flags |= flags;
add_object_array(obj, name, &ent);
continue;
}
if (obj->type == OBJ_BLOB) {
} else if (obj->type == OBJ_BLOB) {
if (2 <= blobs)
die(_("more than two blobs given: '%s'"), name);
hashcpy(blob[blobs].sha1, obj->sha1);
blob[blobs].name = name;
blob[blobs].mode = entry->mode;
blobs++;
continue;

} else {
die(_("unhandled object '%s' given."), name);
}
die(_("unhandled object '%s' given."), name);
}
if (rev.prune_data.nr) {
if (!path)
Expand Down

0 comments on commit 5b1e14e

Please sign in to comment.