On 05/03/2014 10:12 PM, brian m. carlson wrote:
> Signed-off-by: brian m. carlson <sand...@crustytoothpaste.net>
> ---
>  bundle.c | 38 +++++++++++++++++++-------------------
>  1 file changed, 19 insertions(+), 19 deletions(-)
> 
> diff --git a/bundle.c b/bundle.c
> index 1222952..798ba28 100644
> --- a/bundle.c
> +++ b/bundle.c
> @@ -11,11 +11,11 @@
>  
>  static const char bundle_signature[] = "# v2 git bundle\n";
>  
> -static void add_to_ref_list(const unsigned char *sha1, const char *name,
> +static void add_to_ref_list(const struct object_id *sha1, const char *name,
>               struct ref_list *list)
>  {
>       ALLOC_GROW(list->list, list->nr + 1, list->alloc);
> -     hashcpy(list->list[list->nr].sha1, sha1);
> +     hashcpy(list->list[list->nr].sha1, sha1->oid);
>       list->list[list->nr].name = xstrdup(name);
>       list->nr++;
>  }
> @@ -39,7 +39,7 @@ static int parse_bundle_header(int fd, struct bundle_header 
> *header,
>       /* The bundle header ends with an empty line */
>       while (!strbuf_getwholeline_fd(&buf, fd, '\n') &&
>              buf.len && buf.buf[0] != '\n') {
> -             unsigned char sha1[20];
> +             struct object_id sha1;
>               int is_prereq = 0;
>  
>               if (*buf.buf == '-') {
> @@ -53,9 +53,9 @@ static int parse_bundle_header(int fd, struct bundle_header 
> *header,
>                * Prerequisites have object name that is optionally
>                * followed by SP and subject line.
>                */
> -             if (get_sha1_hex(buf.buf, sha1) ||
> -                 (buf.len > 40 && !isspace(buf.buf[40])) ||
> -                 (!is_prereq && buf.len <= 40)) {
> +             if (get_sha1_hex(buf.buf, sha1.oid) ||
> +                 (buf.len > GIT_OID_HEXSZ && 
> !isspace(buf.buf[GIT_OID_HEXSZ])) ||
> +                 (!is_prereq && buf.len <= GIT_OID_HEXSZ)) {
>                       if (report_path)
>                               error(_("unrecognized header: %s%s (%d)"),
>                                     (is_prereq ? "-" : ""), buf.buf, 
> (int)buf.len);
> @@ -63,9 +63,9 @@ static int parse_bundle_header(int fd, struct bundle_header 
> *header,
>                       break;
>               } else {
>                       if (is_prereq)
> -                             add_to_ref_list(sha1, "", 
> &header->prerequisites);
> +                             add_to_ref_list(&sha1, "", 
> &header->prerequisites);
>                       else
> -                             add_to_ref_list(sha1, buf.buf + 41, 
> &header->references);
> +                             add_to_ref_list(&sha1, buf.buf + 41, 
> &header->references);

I think that 41 here is GIT_OID_HEXSZ + 1.

> [...]

Michael

-- 
Michael Haggerty
mhag...@alum.mit.edu
http://softwareswirl.blogspot.com/
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to