fixed wrong reports of ERR_INTEGER_TOO_LARGE
fixed wrong reports of ERR_INTEGER_TOO_LARGE

This happens when passing a binary number as a string argument to a save-editing command, like -q 00000001000010111111111111111111.  The preliminary call to strtol() when first distinguishing numeric operands from option switches (like "-q") is for the purpose of determining whether each C argument vector string is parsable as a number or not.  Unfortunately, strtol() has the side effect of setting errno even in cases when we don't want it to report errors, so checking the value of errno in subsequent calls can be relying on wrong information.

Because of the long binary number, the original call to strtol() with 0 (automatic) as the base tries to parse it as a decimal instead of a binary, in which context the "binary" string specified ends up being read as a decimal that is way too big to fit in a long integer.  We're not interested in ERANGE error-checking until after the option starts to execute on each parameter.

cxd4/zs-flash,cxd4/zs-flash