This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi Paul, Joseph, > On 9/26/19 2:55 PM, Lukasz Majewski wrote: > > +/* Convert a known valid struct timeval into a struct > > __timespec64. */ +static inline void > > +valid_timeval_to_timespec64 (const struct timeval *tv32, > > + struct __timespec64 *ts64) > > +{ > > + ts64->tv_sec = tv32->tv_sec; > > + ts64->tv_nsec = tv32->tv_usec * 1000; > > +} > > I suggest using values rather than pointers. That is, this function > can accept a struct timeval and return a struct __timespec64. The *s > and the consts just get in the way for something simple like this, > and using values will simplify the source code. > Then I will trim the patch to: 1. Only provide: valid_timeval_to_timespec64 () valid_timespec_to_timespec64 () valid_timespec64_to_timespec () valid_timespec64_to_timeval () As those functions are needed for RISC-V 32 glibc port patch series as well. 2. Above "valid" functions will use values instead of pointers: static inline struct __timespec64 valid_timespec_to_timespec64 (const struct timespec tp) { struct __timespec64 ts64; ts64.tv_sec = ts32.tv_sec; ts64.tv_nsec = ts32.tv_nsec; return ts64; } > For the fancier functions that do range checking, you can simply > return an invalid result (with tv_nsec < 0, say). So you don't need a > separate boolean there. Some GNU apps do this sort of thing. In glibc I've already found function which returns struct with all fields set to 0 (./support/blob_repeat.c - support blob repeat allocate) and also sets explicitly errno. In our case we could return -1 in tv_nsec as you suggested. Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
Attachment:
pgpy229tYhpdw.pgp
Description: OpenPGP digital signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |