Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 May 2013 16:14:35 -0400
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        Juli Mallett <jmallett@FreeBSD.org>
Cc:        svn-src-projects@FreeBSD.org, src-committers@FreeBSD.org
Subject:   Re: svn commit: r250638 - in projects/flex-sf: contrib/flex usr.bin/lex/lib
Message-ID:  <51929B2B.4040206@FreeBSD.org>
In-Reply-To: <CACVs6=8LO1S5hiq3kHu%2Bp27qD3RyRtCJu0M3-tpbeCZzKx4emg@mail.gmail.com>
References:  <201305141916.r4EJGs2Y056601@svn.freebsd.org> <CACVs6=8LO1S5hiq3kHu%2Bp27qD3RyRtCJu0M3-tpbeCZzKx4emg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 2013-05-14 16:04:57 -0400, Juli Mallett wrote:
> On Tue, May 14, 2013 at 12:16 PM, Jung-uk Kim <jkim@freebsd.org>
> wrote:
>> Log: Fix build with GCC. Modified:
>> projects/flex-sf/contrib/flex/scanflags.c 
>> ==============================================================================
>>
>> 
- --- projects/flex-sf/contrib/flex/scanflags.c   Tue May 14 17:32:13 2013
       (r250637)
>> +++ projects/flex-sf/contrib/flex/scanflags.c   Tue May 14
>> 19:16:54 2013        (r250638) @@ -62,7 +62,7 @@ sf_init (void) 
>> _sf_stk = (scanflags_t*) flex_alloc ( sizeof(scanflags_t) *
>> (_sf_max = 32)); if (!_sf_stk) lerrsf_fatal(_("Unable to allocate
>> %ld of stack"), -            (long)sizeof(scanflags_t)); +
>> (void *)(uintptr_t)sizeof(scanflags_t)); _sf_stk[_sf_top_ix] =
>> 0; }
> 
> This looks pretty strange.  Moreover, it's not clear to me what
> the benefit is of showing the sizeof scanflags_t, which isn't the
> amount attempting to be allocated anyway, it's sizeof scanflags_t *
> 32, right?  (The assignment in the multiplication in the allocation
> is pretty shady, too.)

Yeah, it is ugly but it is much simpler than DragonFlyBSD's fix:

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/655ed7a0#patch8

> But really, why does %ld expect a pointer?  Is lerrsf_fatal some 
> esoteric thing that doesn't take varargs or use normal format
> strings? If not, just use %zu and get rid of the cast
> rollercoaster? The pointer cast is pretty astonishingly-odd
> anyway.

The lerrsf_fatal() is not printf-like and it only takes char[], i.e.,
lerrsf_fatal(char *, char[]).  It is ugly but I didn't want to break
other uses.

Jung-uk Kim
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (FreeBSD)

iQEcBAEBAgAGBQJRkpsrAAoJECXpabHZMqHO95sH/RjBkzRJyarPqzaKj/Q6ohdi
Iz0q+GPiaOesxfefUkasMQ7VX9ek9JITvYADdodwm9/ch+uo6H5Xcup0GCVGsQIx
Qiz1G24gqxA/uSaBVXp6VD27oZ6/fM6v/ixM/ePAHYhnOJXbwGI9VRyeT6p9U9Rw
HPqJkG6GlI4JsH9Rl2drrQGIkonjfvEF3yDAZChY6Yq1wiFDvqmxr7jH5emY9u/u
agKAu5ShggFn72tDUAMD7j7ia3pKSi7IGO3F390ZnTeNVIeyJ6Ke6N3Qx6EVOZsx
ekKZ2xGYFMFDicTkQPmUfDG0QqNMbYa03nFv7rfNogmBlqw4k/17w8Lk46HIdgY=
=HdpV
-----END PGP SIGNATURE-----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51929B2B.4040206>