Date: Tue, 06 Aug 2013 10:48:09 -0600 From: Ian Lepore <ian@FreeBSD.org> To: Hiroki Sato <hrs@FreeBSD.org> Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r253995 - in head/usr.sbin: rtadvd rtsold Message-ID: <1375807689.3320.48.camel@revolution.hippie.lan> In-Reply-To: <201308061549.r76FnImt054058@svn.freebsd.org> References: <201308061549.r76FnImt054058@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 2013-08-06 at 15:49 +0000, Hiroki Sato wrote: > Author: hrs > Date: Tue Aug 6 15:49:18 2013 > New Revision: 253995 > URL: http://svnweb.freebsd.org/changeset/base/253995 > > Log: > Fix build on arm and mips. > > Modified: > head/usr.sbin/rtadvd/timer.c > head/usr.sbin/rtsold/rtsold.c > > Modified: head/usr.sbin/rtadvd/timer.c > ============================================================================== > --- head/usr.sbin/rtadvd/timer.c Tue Aug 6 15:34:11 2013 (r253994) > +++ head/usr.sbin/rtadvd/timer.c Tue Aug 6 15:49:18 2013 (r253995) > @@ -59,11 +59,8 @@ void > rtadvd_timer_init(void) > { > /* Generate maximum time in timespec. */ > - memset(&tm_limit.tv_sec, 0xff, sizeof(tm_limit.tv_sec)); > - memset(&tm_limit.tv_nsec, 0xff, sizeof(tm_limit.tv_nsec)); > - tm_limit.tv_sec &= ~(1UL << (sizeof(tm_limit.tv_sec) * 8 - 1)); > - tm_limit.tv_nsec &= ~(1UL << (sizeof(tm_limit.tv_nsec) * 8 - 1)); > - > + tm_limit.tv_sec = (-1) & ~((time_t)1 << ((sizeof(tm_max.tv_sec) * 8) - 1)); > + tm_limit.tv_nsec = (-1) & ~((long)1 << ((sizeof(tm_max.tv_nsec) * 8) - 1)); > tm_max = tm_limit; > TAILQ_INIT(&ra_timer); > } > > Modified: head/usr.sbin/rtsold/rtsold.c > ============================================================================== > --- head/usr.sbin/rtsold/rtsold.c Tue Aug 6 15:34:11 2013 (r253994) > +++ head/usr.sbin/rtsold/rtsold.c Tue Aug 6 15:49:18 2013 (r253995) > @@ -188,10 +188,8 @@ main(int argc, char **argv) > } > > /* Generate maximum time in timespec. */ > - memset(&tm_max.tv_sec, 0xff, sizeof(tm_max.tv_sec)); > - memset(&tm_max.tv_nsec, 0xff, sizeof(tm_max.tv_nsec)); > - tm_max.tv_sec &= ~(1UL << (sizeof(tm_max.tv_sec) * 8 - 1)); > - tm_max.tv_nsec &= ~(1UL << (sizeof(tm_max.tv_nsec) * 8 - 1)); > + tm_max.tv_sec = (-1) & ~((time_t)1 << ((sizeof(tm_max.tv_sec) * 8) - 1)); > + tm_max.tv_nsec = (-1) & ~((long)1 << ((sizeof(tm_max.tv_nsec) * 8) - 1)); > > /* set log level */ > if (dflag > 1) The maximum number of nsec is 999999999 regardless of the type of tv_nsec. That expression for max time_t sure is ugly, but I can't think of anything that isn't just differently-ugly. At least the comment makes the purpose clear. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1375807689.3320.48.camel>