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)