summaryrefslogtreecommitdiff
path: root/builtin/diff.c
diff options
context:
space:
mode:
authorLibravatar Michael Haggerty <mhagger@alum.mit.edu>2013-05-25 11:08:06 +0200
committerLibravatar Junio C Hamano <gitster@pobox.com>2013-05-28 09:25:01 -0700
commit5b1e14eab3109c1d33e27b00ee18f8f9f60e779c (patch)
tree1163f874d9d52c02fe00840804035f465572252b /builtin/diff.c
parentcmd_diff(): rename local variable "list" -> "entry" (diff)
downloadtgif-5b1e14eab3109c1d33e27b00ee18f8f9f60e779c.tar.xz
cmd_diff(): make it obvious which cases are exclusive of each other
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>
Diffstat (limited to 'builtin/diff.c')
-rw-r--r--builtin/diff.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/builtin/diff.c b/builtin/diff.c
index 84243d9956..9fc273d8cd 100644
--- a/builtin/diff.c
+++ b/builtin/diff.c
@@ -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)