#define NS_TO_CDTIME_T(ns) ((cdtime_t) (((double) (ns)) * 1.073741824))
#define CDTIME_T_TO_NS(t) ((long) (((double) (t)) / 1.073741824))
-#define CDTIME_T_TO_TIMEVAL(t) { \
- CDTIME_T_TO_TIME_T (t), \
- CDTIME_T_TO_US (t % 1073741824) \
-}
+#define CDTIME_T_TO_TIMEVAL(cdt,tvp) do { \
+ (tvp)->tv_sec = CDTIME_T_TO_TIME_T (cdt); \
+ (tvp)->tv_used = CDTIME_T_TO_US ((cdt) % 1073741824) \
+} while (0)
#define TIMEVAL_TO_CDTIME_T(tv) (TIME_T_TO_CDTIME_T ((tv).tv_sec) \
+ US_TO_CDTIME_T ((tv).tv_usec))
-#define CDTIME_T_TO_TIMESPEC(t) { \
- CDTIME_T_TO_TIME_T (t), \
- CDTIME_T_TO_NS (t % 1073741824) \
-}
+#define CDTIME_T_TO_TIMESPEC(cdt,tsp) do { \
+ (tsp)->tv_sec = CDTIME_T_TO_TIME_T (cdt); \
+ (tsp)->tv_nsec = CDTIME_T_TO_NS ((cdt) % 1073741824); \
+} while (0)
#define TIMESPEC_TO_CDTIME_T(ts) (TIME_T_TO_CDTIME_T ((ts).tv_sec) \
+ NS_TO_CDTIME_T ((ts).tv_nsec))