
<       while (i < size && sieve[++i] == 0)
---
>       while (i < size) {
>         size_t next = i + 1;
>         if (next >= size || sieve[next] != 0)
>           break;
>         i = next;
>       }
