diff options
-rw-r--r-- | cache.h | 1 | ||||
-rw-r--r-- | revision.c | 12 | ||||
-rw-r--r-- | sha1_name.c | 8 |
3 files changed, 6 insertions, 15 deletions
@@ -812,7 +812,6 @@ struct object_context { }; extern int get_sha1(const char *str, unsigned char *sha1); -extern int get_sha1_with_mode(const char *str, unsigned char *sha1, unsigned *mode); extern void maybe_die_on_misspelt_object_name(const char *name, const char *prefix); extern int get_sha1_with_context(const char *str, unsigned char *sha1, struct object_context *orc); diff --git a/revision.c b/revision.c index 064e35108..86a14c8af 100644 --- a/revision.c +++ b/revision.c @@ -1097,7 +1097,7 @@ int handle_revision_arg(const char *arg_, struct rev_info *revs, int flags, int cant_be_filename) { - unsigned mode; + struct object_context oc; char *dotdot; struct object *object; unsigned char sha1[20]; @@ -1180,13 +1180,13 @@ int handle_revision_arg(const char *arg_, struct rev_info *revs, local_flags = UNINTERESTING; arg++; } - if (get_sha1_with_mode(arg, sha1, &mode)) + if (get_sha1_with_context(arg, sha1, &oc)) return revs->ignore_missing ? 0 : -1; if (!cant_be_filename) verify_non_filename(revs->prefix, arg); object = get_reference(revs, arg, sha1, flags ^ local_flags); add_rev_cmdline(revs, object, arg_, REV_CMD_REV, flags ^ local_flags); - add_pending_object_with_mode(revs, object, arg, mode); + add_pending_object_with_mode(revs, object, arg, oc.mode); return 0; } @@ -1794,11 +1794,11 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s if (revs->def && !revs->pending.nr && !got_rev_arg) { unsigned char sha1[20]; struct object *object; - unsigned mode; - if (get_sha1_with_mode(revs->def, sha1, &mode)) + struct object_context oc; + if (get_sha1_with_context(revs->def, sha1, &oc)) die("bad default revision '%s'", revs->def); object = get_reference(revs, revs->def, sha1, 0); - add_pending_object_with_mode(revs, object, revs->def, mode); + add_pending_object_with_mode(revs, object, revs->def, oc.mode); } /* Did the user ask for any diff output? Run the diff! */ diff --git a/sha1_name.c b/sha1_name.c index df583c25b..e63459bd5 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -1139,14 +1139,6 @@ void maybe_die_on_misspelt_object_name(const char *name, const char *prefix) get_sha1_with_context_1(name, sha1, &oc, 1, prefix); } -int get_sha1_with_mode(const char *str, unsigned char *sha1, unsigned *mode) -{ - struct object_context oc; - int ret = get_sha1_with_context_1(str, sha1, &oc, 0, NULL); - *mode = oc.mode; - return ret; -} - int get_sha1_with_context(const char *str, unsigned char *sha1, struct object_context *orc) { return get_sha1_with_context_1(str, sha1, orc, 0, NULL); |