( parsed is tight, all comments ahead. We read the first char outside of the loop because it *has* to be nonzero, which means _pdacc *has* to return 0. Then, we check for '-'. If we get it, we advance by one, recurse and invert result. We loop until _pdacc is nonzero, which means either WS or non-digit. 1 means WS, which means parsing was a success. -1 means non-digit, which means we have a non-decimal. )