Re: What's cooking in git.git (Jun 2010, #02; Wed, 16)
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 17, 2010, 23:37 UTC
- Message-ID
- <7vmxut1b8v.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <0d059f457e2edc87093de2e0ea3c911a@ensimag.fr>
Clément Poulain <clement.poulain@ensimag.imag.fr> writes:
> A fix was proposed here: > http://mid.gmane.org/1276610328-28532-1-git-send-email-axel.bonnet@ensimag.imag.fr
This one changes textconv_object() to take a pointer to ulong*; a caller is changed to cast a long* down to that pointer (in fill_origin_blob); that is shifting one type-punned pointer problem to another one, so I do not think it is an improvement.
> http://mid.gmane.org/1276617028-5265-1-git-send-email-clement.poulain@ensimag.imag.fr
... and this depends on that.
The solution should be along the lines of what Jeff outlined in
Message-ID: <20100615110710.GA1682@sigill.intra.peff.net>
i.e.
The only portable way in C to convert between types is by assignment. So
you have to do: unsigned long foo;
textconv_object(read_from, null_sha1, &buf.buf, &foo);
buf.len = foo;