Date: Mon, 26 Nov 2018 16:35:44 -0700 From: Ian Lepore <ian@freebsd.org> To: Eugene Grosbein <eugen@freebsd.org>, John Baldwin <jhb@FreeBSD.org>, src-committers@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r340617 - head/sys/netgraph Message-ID: <1543275344.1860.28.camel@freebsd.org> In-Reply-To: <5e7d2e8e-2a06-e687-f4c1-5c30ee4c50be@freebsd.org> References: <201811190727.wAJ7RpDN052165@repo.freebsd.org> <f3ef3476-4086-2477-9397-e0dc8f902e4f@FreeBSD.org> <5e7d2e8e-2a06-e687-f4c1-5c30ee4c50be@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 2018-11-27 at 06:29 +0700, Eugene Grosbein wrote:
> 27.11.2018 4:26, John Baldwin wrote:
>
> >
> > >
> > > /* Parse type for timeval */
> > > static const struct ng_parse_struct_field
> > > ng_source_timeval_type_fields[] = {
> > > +#ifdef __LP64__
> > > + { "tv_sec", &ng_parse_int64_type }
> > > ,
> > > + { "tv_usec", &ng_parse_int64_type
> > > },
> > > +#else
> > > { "tv_sec", &ng_parse_int32_type }
> > > ,
> > > { "tv_usec", &ng_parse_int32_type
> > > },
> > > +#endif
> > > { NULL }
> > time_t (and thus tv_sec) is 64 bits on all but i386 now. tv_usec
> > is still a
> > long, so follows LP64 though. If this is trying to match an actual
> > struct
> > timeval then you might want something like this:
> >
> > #ifdef __i386__
> > { "tv_sec", &ng_parse_int32_type },
> > #else
> > { "tv_sec", &ng_parse_int64_type },
> > #endif
> > #ifdef __LP64__
> > { "tv_usec", &ng_parse_int32_type },
> > #else
> > { "tv_usec", &ng_parse_int64_type },
> > #endif
> I'm not sure I get it right: do you mean there is a difference for
> some platform we have?
I think there's a typo there... it makes more sense if the second test
is #ifndef __LP64__ (or swap the 32 and 64 in the true/false legs of
the test as shown).
-- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1543275344.1860.28.camel>
