| 408 | } |
| 409 | |
| 410 | static uint32_t cli_activation_remaining_timeout( |
| 411 | const cli_activation_production_context_t *context) { |
| 412 | uint64_t now = cbm_now_ms(); |
| 413 | if (!context || now >= context->control_deadline_ms) { |
| 414 | return 1U; |
| 415 | } |
| 416 | uint64_t remaining = context->control_deadline_ms - now; |
| 417 | return remaining >= UINT32_MAX ? UINT32_MAX - 1U : (uint32_t)remaining; |
| 418 | } |
| 419 | |
| 420 | static uint64_t cli_activation_count_add(uint64_t left, uint64_t right) { |
| 421 | return left > UINT64_MAX - right ? UINT64_MAX : left + right; |
no test coverage detected