Date: Sat, 30 Mar 1996 15:36:26 +0100 (MET) From: Philippe Regnauld <regnauld@tetard.frmug.fr.net> To: current@freebsd.org (current) Subject: Weird atof() behavior Message-ID: <199603301436.PAA13952@tetard.frmug.fr.net>
next in thread | raw e-mail | index | archive | help
Hi,
A friend of mine has had some problems with Rayshade running on
2.0.5 (GCC 2.6.3) -- it appeared that atof() systematically
returned bogus values in certain conditions: if you omit to specify
#include <stdlib.h>, gcc does NOT issue any sort of warning for
atof(). Example:
#include <stdio.h>
main()
{
foo* char="3.1415926";
float bar=atof(foo);
printf("%f\n",bar);
}
Here's the output:
-7.000000
This is obviously a GCC related problem (I've got the same results
with current), as testing with 2.5.8 showed no problems. It seems
that the value from is cast to a double, then cast to an int.
The warning does show up with -Wall:
atof.c:5: warning: implicit declaration of function `atof'
-- Phil
--
- [ regnauld@tetard.frmug.fr.net / +48.8N+2.3E / +33 1 4507 9391 / Sol 3 ] -
- [ regnauld@freenix.fr / FreeBSD 2.x / ] -
"Le schtroumpf est à l'homme ce que le bleu est au billard" - F.Berjon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199603301436.PAA13952>
