From: Pieter de Bie Date: Sat, 07 Jun 2008 13:06:01 GMT Subject: Re: [PATCH v2] builtin-fast-export: Add importing and exporting of revision marks Message-ID: In-Reply-To: <7v8wxirwi1.fsf@gitster.siamese.dyndns.org> On 7 jun 2008, at 01:09, Junio C Hamano wrote: > I am confused. > > The type of object_decoration.decorattion is a (void*). Why isn't it > sufficient to do it in a naïve and straightforward way? > > mark = (uint32_t)(deco->decoration); > add_decoration(&idnums, object, (void*) mark); > > Is this twisted pointer arithmetic done in order to avoid cast > between int > and pointer of different size in the code? I'm not sure why this is done; I simply copied what the existing code already did. > Even if that is the case, > doesn't "(uint32_t *)deco->decoration - (uint32_t *)NULL" mean the > value > range for deco->decoration is one-fourth of U32? I'd imagine so, yes - Pieter