strtod vs NAN?

From: Larry Rosenman <ler_at_lerctr.org>
Date: Thu, 13 May 2004 21:14:26 -0500
Isn't strtod supposed to deal with NAN's?

I ran:

$ cat test3.c
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
int main(int argc,char **argv)
{
  double num;
  char *input="NAN";
  char *border1="/////////////////////////////";
  char *input2="inf";
  char *border2="/////////////////////////////";
  char **ptr;

  num=strtod(input,ptr);
  printf("num=%g\n",num);
  printf("errno=%ld\n",errno);
  printf("ptr=%p, points to %s\n",*ptr,*ptr);
  num=strtod(input2,ptr);
  printf("num=%g\n",num);
  printf("errno=%ld\n",errno);
  printf("ptr=%p, points to %s\n",*ptr,*ptr);
  exit(0);
}
$

and I get a SIGSEGV in the first strtod call.

the manpage for strtod implies, to me, that it should deal with it.

Thanks!

This is with -CURRENT as of:

$ uname -a
FreeBSD lerlaptop.lerctr.org 5.2-CURRENT FreeBSD 5.2-CURRENT #111: Sat May 
1 23:09:13 CDT 2004 
ler_at_lerlaptop.lerctr.org:/usr/obj/usr/src/sys/LERLAPTOP  i386
$
-- 
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler_at_lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

Received on Thu May 13 2004 - 17:14:29 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:54 UTC