Flavio Cruz, le ven. 13 janv. 2023 03:27:05 -0500, a ecrit:
> #define time_value64_assert(val) \
> - assert(0 <= (val)->nanoseconds && (val)->nanoseconds < TIME_NANOS_MAX);
> + assert(0 <= (val).nanoseconds && (val).nanoseconds < TIME_NANOS_MAX);
[...]
> +#define time_value64_add_nanos(val, nanos) { \
> + time_value64_assert(*val); \
[...]
Macros such as TIMEVAL_TO_TIMESPEC etc. do always take pointers, so
better keep coherent with them.
> -record_time_stamp (time_value_t *stamp)
> +record_time_stamp(time_value_t *stamp)
> {
> - read_mapped_time(stamp);
> - time_value_add(stamp, &clock_boottime_offset);
> + time_value64_t stamp64;
> + read_mapped_time(&stamp64);
> + time_value64_add(&stamp64, clock_boottime_offset);
> + stamp->seconds = stamp64.seconds;
> + stamp->microseconds = stamp64.nanoseconds / 1000;
There are quite a few such conversions, perhaps introduce a macro to
convert between time_value_t and time_value64_t?
Samuel