svn commit: r340617 - head/sys/netgraph

Warner Losh imp at bsdimp.com
Tue Nov 27 00:15:32 UTC 2018


On Mon, Nov 26, 2018 at 4:29 PM Eugene Grosbein <eugen at freebsd.org> 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?
>

time_t is 64-bits in FreeBSD for all architectures regardless of __LP64__,
except it's 32-bits on i386.

Warner


More information about the svn-src-head mailing list