This patch imports the unmodified current version of NetBSD libc. The NetBSD includes are in /nbsd_include, while the libc code itself is split between lib/nbsd_libc and common/lib/libc.
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* $NetBSD: strtold_subr.c,v 1.1 2006/03/15 17:35:18 kleink Exp $ */
 | 
						|
 | 
						|
/*
 | 
						|
 * Written by Klaus Klein <kleink@NetBSD.org>, November 16, 2005.
 | 
						|
 * Public domain.
 | 
						|
 */
 | 
						|
 | 
						|
/*
 | 
						|
 * NOTICE: This is not a standalone file.  To use it, #include it in
 | 
						|
 * the format-specific strtold_*.c, like so:
 | 
						|
 *
 | 
						|
 *	#define GDTOA_LD_FMT	<gdtoa extended-precision format code>
 | 
						|
 *	#include "strtold_subr.c"
 | 
						|
 */
 | 
						|
 | 
						|
#include <sys/cdefs.h>
 | 
						|
#if defined(LIBC_SCCS) && !defined(lint)
 | 
						|
__RCSID("$NetBSD: strtold_subr.c,v 1.1 2006/03/15 17:35:18 kleink Exp $");
 | 
						|
#endif /* LIBC_SCCS and not lint */
 | 
						|
 | 
						|
#include "namespace.h"
 | 
						|
#include <math.h>
 | 
						|
#include <stdlib.h>
 | 
						|
#include "gdtoa.h"
 | 
						|
 | 
						|
#ifdef __weak_alias
 | 
						|
__weak_alias(strtold, _strtold)
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef __HAVE_LONG_DOUBLE
 | 
						|
#error no extended-precision long double type
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef GDTOA_LD_FMT
 | 
						|
#error GDTOA_LD_FMT must be defined by format-specific source file
 | 
						|
#endif
 | 
						|
 | 
						|
#define	STRTOP(x)	__CONCAT(strtop, x)
 | 
						|
 | 
						|
long double
 | 
						|
strtold(const char *nptr, char **endptr)
 | 
						|
{
 | 
						|
	long double ld;
 | 
						|
 | 
						|
	(void)STRTOP(GDTOA_LD_FMT)(nptr, endptr, &ld);
 | 
						|
	return ld;
 | 
						|
}
 |