NETWORK_CONFIG_STATE_REMOVING = 1 << 4, /* e.g. address_remove() is called, but no response is received yet */
} NetworkConfigState;
-static inline usec_t sec16_to_usec(uint16_t sec, usec_t timestamp_usec) {
- return sec == UINT16_MAX ? USEC_INFINITY : usec_add(timestamp_usec, sec * USEC_PER_SEC);
+static inline usec_t sec_to_usec(uint32_t sec, usec_t timestamp_usec) {
+ return
+ sec == 0 ? 0 :
+ sec == UINT32_MAX ? USEC_INFINITY :
+ usec_add(timestamp_usec, sec * USEC_PER_SEC);
}
-static inline usec_t sec_to_usec(uint32_t sec, usec_t timestamp_usec) {
- return sec == UINT32_MAX ? USEC_INFINITY : usec_add(timestamp_usec, sec * USEC_PER_SEC);
+static inline usec_t sec16_to_usec(uint16_t sec, usec_t timestamp_usec) {
+ return sec_to_usec(sec == UINT16_MAX ? UINT32_MAX : (uint32_t) sec, timestamp_usec);
}
static inline uint32_t usec_to_sec(usec_t usec, usec_t now_usec) {