brian m. carlson wrote:
> All of the callers of these functions just pass the hash member of a
> struct object_id, so convert them to use a pointer to struct object_id
> directly.
>
> Signed-off-by: brian m. carlson <[email protected]>
> ---
> archive.c | 2 +-
> branch.c | 2 +-
> builtin/fast-export.c | 2 +-
> builtin/log.c | 2 +-
> builtin/merge-base.c | 2 +-
> builtin/merge.c | 2 +-
> builtin/rev-parse.c | 2 +-
> builtin/show-branch.c | 2 +-
> bundle.c | 2 +-
> refs.c | 14 +++++++-------
> refs.h | 4 ++--
> remote.c | 3 +--
> sha1_name.c | 6 +++---
> upload-pack.c | 2 +-
> wt-status.c | 2 +-
> 15 files changed, 24 insertions(+), 25 deletions(-)
One worry below. I might be worrying in vain but thought I might as
well ask.
> --- a/refs.c
> +++ b/refs.c
[...]
> -int expand_ref(const char *str, int len, unsigned char *sha1, char **ref)
> +int expand_ref(const char *str, int len, struct object_id *oid, char **ref)
> {
> const char **p, *r;
> int refs_found = 0;
> @@ -472,15 +472,15 @@ int expand_ref(const char *str, int len, unsigned char
> *sha1, char **ref)
>
> *ref = NULL;
> for (p = ref_rev_parse_rules; *p; p++) {
> - unsigned char sha1_from_ref[20];
> - unsigned char *this_result;
> + struct object_id oid_from_ref;
> + struct object_id *this_result;
> int flag;
>
> - this_result = refs_found ? sha1_from_ref : sha1;
> + this_result = refs_found ? &oid_from_ref : oid;
> strbuf_reset(&fullref);
> strbuf_addf(&fullref, *p, len, str);
> r = resolve_ref_unsafe(fullref.buf, RESOLVE_REF_READING,
> - this_result, &flag);
> + this_result->hash, &flag);
Can this_result be NULL? Can the oid param be NULL?
Since both this and dwim_ref are non-static functions, I'd be comforted by an
if (!oid)
BUG("expand_ref: oid must be non-NULL");
at the top so that mistakes in callers are caught quickly.
[...]
> --- a/remote.c
> +++ b/remote.c
> @@ -1628,8 +1628,7 @@ static void set_merge(struct branch *ret)
> if (!remote_find_tracking(remote, ret->merge[i]) ||
> strcmp(ret->remote_name, "."))
> continue;
> - if (dwim_ref(ret->merge_name[i], strlen(ret->merge_name[i]),
> - oid.hash, &ref) == 1)
> + if (dwim_ref(ret->merge_name[i], strlen(ret->merge_name[i]),
> &oid, &ref) == 1)
> ret->merge[i]->dst = ref;
Long line (but as discussed earlier in this series, I don't mind).
Thanks,
Jonathan