Depends on ssize_t allowing a reasonable number of negative numbers, not just -1.