mrc@Tomobiki-Cho.CAC.Washington.EDU (Mark Crispin) (11/14/90)
The following little program demonstrates a bug in the strtol() function under NeXT 1.0. 36 is output whereas the correct answer is 3. strtol() on other systems gets this right. atoi() works OK as well; meaning that NeXT isn't obeying the definition of atoi() = (int)strtol(s,(char**)NULL,10). main () { printf ("%d\n",strtol ("3]",0,10)); } _____ | ____ ___|___ /__ Mark ("Gaijin") Crispin "Gaijin! Gaijin!" _|_|_ -|- || __|__ / / R90/6 pilot, DoD #0105 "Gaijin ha doko?" |_|_|_| |\-++- |===| / / Atheist & Proud "Niichan ha gaijin." --|-- /| |||| |___| /\ (206) 842-2385/543-5762 "Chigau. Omae ha gaijin." /|\ | |/\| _______ / \ MRC@CAC.Washington.EDU "Iie, boku ha nihonjin." / | \ | |__| / \ / \ Lumchan ga suki ja!! "Souka. Yappari gaijin!" Hee, dakedo UNIX nanka wo tsukatte, umaku ikanaku temo shiranai yo.
hess@iuvax.cs.indiana.edu (Caleb Hess) (11/15/90)
I noticed some time ago that strtol() didn't work right on NeXT (try giving it a large hex value - anything over 2^31 comes back as FFFFFFFF). Then I discovered that NeXT has no man page for strtol, so I assumed it wasn't supported. I used sscanf() instead.