c
#include <limits.h>

static ble_npl_time_t safe_add(ble_npl_time_t a, int32_t b) {
    if ((b > 0 && a > INT_MAX - b) || (b < 0 && a < INT_MIN - b)) {
        // Handle overflow
        return INT_MAX;
    }
    return a + b;
}

abs_time = safe_add(ble_npl_time_get(), ticks_from_now);
