Chris Wareham wrote:
> Eric M. Monsler wrote:
>
>>
>> Inspecting errno when?
>
> >
>
> tmp_float = (float)strtod("6.0e-44",NULL);
>
> /* inspect errno and tmp_float here - see strtod(3) */
>
> if(errno == ERANGE) {
> g_print("bad argument to strtod()\n");
> exit(1);
> } else if(tmp_float == FLT_MIN || tmp_float == FLT_MAX) {
> g_print("float out of range\n");
> exit(1);
> }
>
> g_string_sprintf(pGStr,"%6.2f\n",tmp_float);
>
> Even better would be to skip the cast, make tmp_float
> into tmp_double, and just check errno. This is because
> FLT_MIN and FLT_MAX may not be portable beyond machines
> with gcc on them.
>
And of course you're already fucked if the return from
strtod is greater than FLT_MAX or less than FLT_MIN.
So the "else if" part of the code above is redundant.
Chris
--
[EMAIL PROTECTED] (work)
[EMAIL PROTECTED] (home)
_______________________________________________
gtk-list mailing list
[EMAIL PROTECTED]
http://mail.gnome.org/mailman/listinfo/gtk-list