Clément Poulain [off-list ref] 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: [ref]
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;