On 02/12/2013 04:45 AM, Assaf Gordon wrote:
On Feb 11, 2013, at 20:32, Pádraig Brady <p...@draigbrady.com> wrote:

On 02/11/2013 08:47 PM, Assaf Gordon wrote:
-  if (errno != 0)
+  /* EINVAL can happen if 'base' is invalid (hardcoded as 10, so can't happen),
+     or if no conversion was performed (on some platforms). Ignore & continue
+     if no conversion was performed */
+  if (errno != 0 && (errno != EINVAL))

It might be better to do:

if (errno == ERANGE)
  error ();

In any case thanks for the fix.
Pádraig.

I was thinking about that, my only concern was since we're already dealing with 
non-standard code, should we worry about an even weirder implementation that 
might return something that's not ERANGE and not EINVAL?

The error message is just about ERANGE, so it's probably
best to use just that value in the conditional.
Reading the docs, EINVAL is the only other possibility.

thanks,
Pádraig.

Reply via email to