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

Brooks Davis brooks at
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>
> To: Dan Lukes <dan at>
> Cc: bug-followup at
> 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> 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 :

More information about the freebsd-bugs mailing list