X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=includes%2Fstdlib.h;h=15f07b026c2d4da7a723249f22803135e2a2f234;hb=f2e874bbb30fa8857975a683a17dce7669524520;hp=06eb9ce628335167c48184ee89fabda72df9d140;hpb=b42a534f135f12fe47a6bc343bb6cc2c0e973198;p=pdclib.old diff --git a/includes/stdlib.h b/includes/stdlib.h index 06eb9ce..15f07b0 100644 --- a/includes/stdlib.h +++ b/includes/stdlib.h @@ -1,6 +1,6 @@ /* $Id$ */ -/* General utilities +/* 7.20 General utilities This file is part of the Public Domain C Library (PDCLib). Permission is granted to use, modify, and / or redistribute at will. @@ -8,11 +8,8 @@ #ifndef _PDCLIB_STDLIB_H #define _PDCLIB_STDLIB_H _PDCLIB_STDLIB_H - -#ifndef _PDCLIB_INT_H -#define _PDCLIB_INT_H _PDCLIB_INT_H #include <_PDCLIB_int.h> -#endif +_PDCLIB_BEGIN_EXTERN_C #ifndef _PDCLIB_SIZE_T_DEFINED #define _PDCLIB_SIZE_T_DEFINED _PDCLIB_SIZE_T_DEFINED @@ -52,6 +49,9 @@ long double strtold( const char * _PDCLIB_restrict nptr, char * * _PDCLIB_restri LLONG_MIN, LLONG_MAX, or ULLONG_MAX respectively, depending on the sign of the integer representation and the return type, and errno is set to ERANGE. */ +/* There is strtoimax() and strtoumax() in operating on intmax_t / + uintmax_t, if the long long versions do not suit your needs. +*/ long int strtol( const char * _PDCLIB_restrict nptr, char * * _PDCLIB_restrict endptr, int base ); long long int strtoll( const char * _PDCLIB_restrict nptr, char * * _PDCLIB_restrict endptr, int base ); unsigned long int strtoul( const char * _PDCLIB_restrict nptr, char * * _PDCLIB_restrict endptr, int base ); @@ -138,7 +138,7 @@ void * realloc( void * ptr, size_t size ); temporary files before exiting with EXIT_FAILURE. abort() does not return. */ -void abort( void ); +_PDCLIB_noreturn void abort( void ); /* Register a function that will be called on exit(), or when main() returns. At least 32 functions can be registered this way, and will be called in @@ -153,7 +153,7 @@ int atexit( void (*func)( void ) ); and EXIT_FAILURE above.) exit() does not return. */ -void exit( int status ); +_PDCLIB_noreturn void exit( int status ); /* Normal process termination. Functions registered by atexit() (see above) are NOT CALLED. This implementation DOES flush streams, close files and removes @@ -161,7 +161,7 @@ void exit( int status ); comment for EXIT_SUCCESS and EXIT_FAILURE above.) _Exit() does not return. */ -void _Exit( int status ); +_PDCLIB_noreturn void _Exit( int status ); /* Search an environment-provided key-value map for the given key name, and return a pointer to the associated value string (or NULL if key name cannot @@ -241,4 +241,5 @@ size_t mbstowcs( wchar_t * _PDCLIB_restrict pwcs, const char * _PDCLIB_restrict size_t wcstombs( char * _PDCLIB_restrict s, const wchar_t * _PDCLIB_restrict pwcs, size_t n ); */ +_PDCLIB_END_EXTERN_C #endif