Re: [PATCH 53/67] drop strcpy in favor of raw sha1_to_hex
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Sep 18, 2015, 19:24 UTC
- Message-ID
- <CAPig+cRaPu0_WdLwE_O3UddP5LEvqqB7gOkyg5ne9YkXu_JJ9w@mail.gmail.com>
- In-Reply-To
- <20150915160605.GA29753@sigill.intra.peff.net>
On Tue, Sep 15, 2015 at 12:06 PM, Jeff King <peff@peff.net> wrote:
Show 32 quoted lines
> In some cases where we strcpy() the result of sha1_to_hex(),
> there's no need; the result goes directly into a printf
> statement, and we can simply pass the return value from
> sha1_to_hex() directly.
>
> Signed-off-by: Jeff King <peff@peff.net>
> ---
> diff --git a/http-push.c b/http-push.c
> index 43a9036..48f39b7 100644
> --- a/http-push.c
> +++ b/http-push.c
> @@ -1856,7 +1856,6 @@ int main(int argc, char **argv)
>
> new_refs = 0;
> for (ref = remote_refs; ref; ref = ref->next) {
> - char old_hex[60], *new_hex;
> struct argv_array commit_argv = ARGV_ARRAY_INIT;
>
> if (!ref->peer_ref)
> @@ -1911,13 +1910,12 @@ int main(int argc, char **argv)
> }
> hashcpy(ref->new_sha1, ref->peer_ref->new_sha1);
> new_refs++;
> - strcpy(old_hex, sha1_to_hex(ref->old_sha1));
> - new_hex = sha1_to_hex(ref->new_sha1);
>
> fprintf(stderr, "updating '%s'", ref->name);
> if (strcmp(ref->name, ref->peer_ref->name))
> fprintf(stderr, " using '%s'", ref->peer_ref->name);
> - fprintf(stderr, "\n from %s\n to %s\n", old_hex, new_hex);
> + fprintf(stderr, "\n from %s\n to %s\n",
> + sha1_to_hex(ref->old_sha1), sha1_to_hex(ref->new_sha1));Would it make sense for the commit message can mention that when this code was written originally, it was not safe to call sha1_to_hex() twice like this within a single expression, but became safe as of dcb3450 (sha1_to_hex() usage cleanup, 2006-05-03)?
> if (dry_run) {
> if (helper_status)
> printf("ok %s\n", ref->name);