bin/71616: [PATCH] cleanup of the usr.sbin/yp_mkdb code

Brooks Davis brooks at one-eyed-alien.net
Sun Sep 12 16:40:15 PDT 2004


On Sun, Sep 12, 2004 at 08:10:55PM +0000, Giorgos Keramidas wrote:
> The following reply was made to PR bin/71616; it has been noted by GNATS.
> 
> From: Giorgos Keramidas <keramida at freebsd.org>
> To: Dan Lukes <dan at obluda.cz>
> Cc: bug-followup at freebsd.org
> Subject: Re: bin/71616: [PATCH] cleanup of the usr.sbin/yp_mkdb code
> Date: Sun, 12 Sep 2004 21:23:45 +0300
> 
>  On 2004-09-12 04:37, Dan Lukes <dan at obluda.cz> wrote:
>  > *** usr.sbin/yp_mkdb/yp_mkdb.c.ORIG	Sun Sep  5 18:54:07 2004
>  > --- usr.sbin/yp_mkdb/yp_mkdb.c	Sun Sep  5 19:01:20 2004
>  > [...]
>  > - 	snprintf(buf, sizeof(buf), "%lu", time(NULL));
>  > + 	snprintf(buf, sizeof(buf), "%lu", (long unsigned int)time(NULL));
>  
>  Just a minor comment: An (unsigned long) cast should be fine here.
>  
>  There's no need to add `int' and the ordering of long unsigned seems a bit
>  backwards -- most of the time I've seen it written with `unsigned' first.

Using unsigned here is actually bogus. time_t is a signed type
in FreeBSD.  SUSv3 says "time_t and clock_t shall be integer or
real-floating types."  In FreeBSD a cast an integer type is safe.
Either long or intmax_t are decent choices today.  I'd generally prefer
intmax_t since that avoids the 2038 bug.  We probably will take time_t
to 64-bits on all platforms at some time in the future so avoiding the
use of longs will save us pain then.

-- Brooks

-- 
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-bugs/attachments/20040912/45b2e4f0/attachment.bin


More information about the freebsd-bugs mailing list