git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Tan <jonathantanmy@google.com>
To: "brian m. carlson" <sandals@crustytoothpaste.net>, git@vger.kernel.org
Cc: "Michael Haggerty" <mhagger@alum.mit.edu>,
	"Stefan Beller" <sbeller@google.com>, "Jeff King" <peff@peff.net>,
	"Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Subject: Re: [PATCH v2 39/53] refs/files-backend: convert many internals to struct object_id
Date: Mon, 1 May 2017 16:24:23 -0700	[thread overview]
Message-ID: <95a85924-6f5b-a625-e460-ecd14540a621@google.com> (raw)
In-Reply-To: <20170501022946.258735-40-sandals@crustytoothpaste.net>

On 04/30/2017 07:29 PM, brian m. carlson wrote:
> @@ -195,27 +195,18 @@ static const char PACKED_REFS_HEADER[] =
>   * Return a pointer to the refname within the line (null-terminated),
>   * or NULL if there was a problem.
>   */
> -static const char *parse_ref_line(struct strbuf *line, unsigned char *sha1)
> +static const char *parse_ref_line(struct strbuf *line, struct object_id *oid)
>  {
>  	const char *ref;
>
> -	/*
> -	 * 42: the answer to everything.
> -	 *
> -	 * In this case, it happens to be the answer to
> -	 *  40 (length of sha1 hex representation)
> -	 *  +1 (space in between hex and name)
> -	 *  +1 (newline at the end of the line)
> -	 */
> -	if (line->len <= 42)
> +	if (!line->len)
>  		return NULL;

I would omit this check - parse_oid_hex already exits early if the first 
character is NUL. (The existing code makes a bit more sense, in that it 
avoids checking the first few characters if we already know a bit more 
about the string.)

>
> -	if (get_sha1_hex(line->buf, sha1) < 0)
> +	if (parse_oid_hex(line->buf, oid, &ref) < 0)
>  		return NULL;
> -	if (!isspace(line->buf[40]))
> +	if (!isspace(*ref++))
>  		return NULL;
>
> -	ref = line->buf + 41;
>  	if (isspace(*ref))
>  		return NULL;
>

Looks fine, up to here.

(Also, you requested extra-careful review for this patch, but this patch 
seems mostly mechanical to me.)

  reply	other threads:[~2017-05-01 23:24 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-01  2:28 [PATCH v2 00/53] object_id part 8 brian m. carlson
2017-05-01  2:28 ` [PATCH v2 01/53] fetch-pack: convert to struct object_id brian m. carlson
2017-05-01  2:28 ` [PATCH v2 02/53] Clean up outstanding object_id transforms brian m. carlson
2017-05-02 18:05   ` Brandon Williams
2017-05-03 23:41     ` brian m. carlson
2017-05-01  2:28 ` [PATCH v2 03/53] Convert struct cache_tree to use struct object_id brian m. carlson
2017-05-02 18:13   ` Brandon Williams
2017-05-03 23:36     ` brian m. carlson
2017-05-01  2:28 ` [PATCH v2 04/53] builtin/name-rev: convert to " brian m. carlson
2017-05-01  2:28 ` [PATCH v2 05/53] builtin/prune: " brian m. carlson
2017-05-01  2:28 ` [PATCH v2 06/53] bundle: " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 07/53] branch: " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 08/53] builtin/blame: convert static function " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 09/53] builtin/rev-parse: convert " brian m. carlson
2017-05-01 21:54   ` Jonathan Tan
2017-05-01  2:29 ` [PATCH v2 10/53] fast-import: convert internal structs " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 11/53] fast-import: convert " brian m. carlson
2017-05-01 22:07   ` Jonathan Tan
2017-05-01 22:27     ` Jeff King
2017-05-01 22:36       ` Jonathan Tan
2017-05-03 23:34       ` brian m. carlson
2017-05-01  2:29 ` [PATCH v2 12/53] submodule: convert merge_submodule to use " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 13/53] notes-cache: convert to " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 14/53] parse-options-cb: " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 15/53] reflog_expire: " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 16/53] builtin/verify-commit: " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 17/53] tag: convert parse_tag_buffer " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 18/53] http-push: convert some static functions " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 19/53] notes-utils: convert internals " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 20/53] revision: convert prepare_show_merge " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 21/53] shallow: convert shallow registration functions to object_id brian m. carlson
2017-05-01  2:29 ` [PATCH v2 22/53] sequencer: convert some functions to struct object_id brian m. carlson
2017-05-01  2:29 ` [PATCH v2 23/53] builtin/tag: convert " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 24/53] Convert remaining callers of lookup_commit_reference* to object_id brian m. carlson
2017-05-01  2:29 ` [PATCH v2 25/53] Convert lookup_commit* to struct object_id brian m. carlson
2017-05-01  2:29 ` [PATCH v2 26/53] pack: convert struct pack_idx_entry " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 27/53] builtin/unpack-objects: convert " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 28/53] Convert remaining callers of lookup_blob to object_id brian m. carlson
2017-05-01  2:29 ` [PATCH v2 29/53] Convert lookup_blob to struct object_id brian m. carlson
2017-05-01  2:29 ` [PATCH v2 30/53] tree: convert read_tree_1 to use struct object_id internally brian m. carlson
2017-05-01  2:29 ` [PATCH v2 31/53] builtin/reflog: convert tree_is_complete to take struct object_id brian m. carlson
2017-05-01  2:29 ` [PATCH v2 32/53] Convert lookup_tree to " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 33/53] log-tree: convert " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 34/53] Convert lookup_tag " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 35/53] Convert the verify_pack callback " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 36/53] Convert struct ref_array_item " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 37/53] ref-filter: convert some static functions " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 38/53] refs: convert struct ref_update to use " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 39/53] refs/files-backend: convert many internals to " brian m. carlson
2017-05-01 23:24   ` Jonathan Tan [this message]
2017-05-03 23:30     ` brian m. carlson
2017-05-01  2:29 ` [PATCH v2 40/53] http-push: convert process_ls_object and descendants to object_id brian m. carlson
2017-05-01  2:29 ` [PATCH v2 41/53] revision: rename add_pending_sha1 to add_pending_oid brian m. carlson
2017-05-01  2:29 ` [PATCH v2 42/53] revision: convert remaining parse_object callers to object_id brian m. carlson
2017-05-01  2:29 ` [PATCH v2 43/53] upload-pack: " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 44/53] sha1_name: convert internals of peel_onion " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 45/53] builtin/read-tree: convert to struct object_id brian m. carlson
2017-05-01  2:29 ` [PATCH v2 46/53] builtin/ls-files: convert overlay_tree_on_cache to object_id brian m. carlson
2017-05-01  2:29 ` [PATCH v2 47/53] sequencer: convert fast_forward_to to struct object_id brian m. carlson
2017-05-01  2:29 ` [PATCH v2 48/53] merge: convert checkout_fast_forward " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 49/53] builtin/ls-tree: convert " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 50/53] diff-lib: convert do_diff_cache " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 51/53] sequencer: convert do_recursive_merge " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 52/53] tree: convert parse_tree_indirect " brian m. carlson
2017-05-01  2:29 ` [PATCH v2 53/53] object: convert parse_object* to take " brian m. carlson
2017-05-01 23:44   ` Jonathan Tan
2017-05-01 21:10 ` [PATCH v2 00/53] object_id part 8 Stefan Beller
2017-05-02 19:09 ` Brandon Williams
2017-05-04  0:50 ` brian m. carlson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=95a85924-6f5b-a625-e460-ecd14540a621@google.com \
    --to=jonathantanmy@google.com \
    --cc=git@vger.kernel.org \
    --cc=mhagger@alum.mit.edu \
    --cc=pclouds@gmail.com \
    --cc=peff@peff.net \
    --cc=sandals@crustytoothpaste.net \
    --cc=sbeller@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).