Plan 9 from Bell Labs’s /usr/web/sources/contrib/rsc/linuxemu/libc/port/strtod.c

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


#include <u.h>
#include <libc.h>

static int
strtodf(void *vp)
{
	return *(*((char**)vp))++;
}

double
strtod(char *s, char **end)
{
	double d;
	char *ss;
	int c;

	ss = s;
	d = charstod(strtodf, &s);
	/*
	 * Fix cases like 2.3e+ , which charstod will consume
	 */
	if(end){
		*end = --s;
		while(s > ss){
			c = *--s;
			if(c!='-' && c!='+' && c!='e' && c!='E')
				break;
			(*end)--;
		}
	}
	return d;
}

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].