- Smaller C: fix a bug in __func__ introduced with
float-related changes
- make *printf() print floats greater than 1e25
- make *printf() print the plus sign when the format
includes "+", e.g. printf("%+f\n", 1.0);
- clean up and complete prototypes in <math.h>
- remove non-standard HUGE and LOGHUGE from <math.h>
- add HUGE_VAL to <math.h>
- express some hard-coded limits in terms of constants
from <float.h>
- uncomment prototypes of several floating point
conversion functions in <stdlib.h> for Smaller C
106 lines
3.8 KiB
C
106 lines
3.8 KiB
C
/*-
|
|
* Copyright (c) 1990, 1993
|
|
* The Regents of the University of California. All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
* 3. All advertising materials mentioning features or use of this software
|
|
* must display the following acknowledgement:
|
|
* This product includes software developed by the University of
|
|
* California, Berkeley and its contributors.
|
|
* 4. Neither the name of the University nor the names of its contributors
|
|
* may be used to endorse or promote products derived from this software
|
|
* without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
* SUCH DAMAGE.
|
|
*
|
|
* @(#)stdlib.h 8.3.2 (2.11BSD) 1996/1/12
|
|
*
|
|
* Adapted from the 4.4-Lite CD. The odds of a ANSI C compiler for 2.11BSD
|
|
* being slipped under the door are not distinguishable from 0 - so the
|
|
* prototypes and ANSI ifdefs have been removed from this file.
|
|
*
|
|
* Some functions (strtoul for example) do not exist yet but are retained in
|
|
* this file because additions to libc.a are anticipated shortly.
|
|
*/
|
|
|
|
#ifndef _STDLIB_H_
|
|
#define _STDLIB_H_
|
|
|
|
#ifndef NULL
|
|
#define NULL 0
|
|
#endif
|
|
|
|
#define EXIT_FAILURE 1
|
|
#define EXIT_SUCCESS 0
|
|
|
|
#define RAND_MAX 0x7fff
|
|
|
|
#ifndef _SIZE_T
|
|
#define _SIZE_T
|
|
typedef unsigned size_t;
|
|
#endif
|
|
|
|
void abort (void);
|
|
int abs (int);
|
|
int atexit (void (*)(void));
|
|
int atoi (const char *);
|
|
long atol (const char *);
|
|
void *calloc (size_t, size_t);
|
|
void exit (int);
|
|
void free (void *);
|
|
char *getenv (const char *);
|
|
long labs (long);
|
|
void *malloc (size_t);
|
|
char *mktemp (char *);
|
|
int mkstemp (char *);
|
|
void qsort (void *, size_t, size_t, int (*)(const void *, const void *));
|
|
int rand (void);
|
|
void *realloc (void*, size_t);
|
|
void srand (unsigned);
|
|
long strtol (const char *, char **, int);
|
|
unsigned long strtoul (const char *, char **, int);
|
|
int system (const char *);
|
|
|
|
int putenv (char *string);
|
|
int setenv (const char *name, const char *value, int overwrite);
|
|
int unsetenv (const char *name);
|
|
char *_findenv (const char *name, int *offset);
|
|
|
|
void *alloca (size_t size);
|
|
|
|
int daemon (int, int);
|
|
char *devname (int dev, int type);
|
|
int getloadavg (unsigned loadavg[], int nelem);
|
|
|
|
extern char *suboptarg; /* getsubopt(3) external variable */
|
|
int getsubopt (char **, char **, char **);
|
|
|
|
long random (void);
|
|
char *setstate (char *);
|
|
void srandom (unsigned);
|
|
|
|
double atof (const char *);
|
|
double strtod (const char *, char **);
|
|
char *ecvt (double, int, int *, int *);
|
|
char *fcvt (double, int, int *, int *);
|
|
char *gcvt (double, int, char *);
|
|
|
|
#endif /* _STDLIB_H_ */
|