summaryrefslogtreecommitdiff
path: root/include/stdlib.h
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create tagrelease/5.4.0_cvscvs2svn2005-05-071-1/+1
| | | | | | 'RELENG_5_4_0_RELEASE'. This commit was manufactured to restore the state of the 5.4-RELEASE image.
* POSIX clearly states that getsubopt() should be declared in <stdlib.h>,Andrey A. Chernov2004-02-231-3/+2
| | | | | | | not in <unistd.h> Notes: svn path=/head/; revision=126136
* Change the definition of NULL on ia64 (for LP64 compilations) fromMarcel Moolenaar2003-12-071-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | an int constant to a long constant. This change improves consistency in the following two ways: 1. The first 8 arguments are always passed in registers on ia64, which by virtue of the generated code implicitly widens ints to longs and allows the use of an 32-bit integral type for 64-bit arguments. Subsequent arguments are passed onto the memory stack, which does not exhibit the same behaviour and consequently do not allow this. In practice this means that variadic functions taking pointers and given NULL (without cast) work as long as the NULL is passed in one of the first 8 arguments. A SIGSEGV is more likely the result if such would be done for stack-based arguments. This is due to the fact that the upper 4 bytes remain undefined. 2. All 64-bit platforms that FreeBSD supports, with the obvious exception of ia64, allow 32-bit integral types (specifically NULL) when 64-bit pointers are expected in variadic functions by way of how the compiler generates code. As such, code that works correctly (whether rightfully so or not) on any platform other than ia64, may fail on ia64. To more easily allow tweaking of the definition of NULL, this commit removes the 12 definitions in the various headers and puts it in a new header that can be included whenever NULL is to be made visible. This commit fixes GNOME, emacs, xemacs and a whole bunch of ports that I don't particularly care about at this time... Notes: svn path=/head/; revision=123257
* Push the alloca #error warning farther down to play nicer with some out ofDavid E. O'Brien2003-06-251-2/+0
| | | | | | | | | tree local translator. Requested by: jmallett Notes: svn path=/head/; revision=116833
* Fix a mismerge.David E. O'Brien2003-06-251-1/+1
| | | | Notes: svn path=/head/; revision=116832
* Don't blindly provide alloca() for all compilers -- it is too implementationDavid E. O'Brien2003-06-251-4/+5
| | | | | | | | | dependent. Instead provide one for GCC & Intel's GCC copy and one for lint. Anyone using any other translator tool needs to look closely at how that tool can handle alloca. Notes: svn path=/head/; revision=116831
* Remove argument names from a function declaration.David Malone2003-06-221-1/+1
| | | | | | | Reviewed by: phk Notes: svn path=/head/; revision=116680
* Add devname_r(3) which takes a buffer as argument.Poul-Henning Kamp2003-06-201-0/+1
| | | | Notes: svn path=/head/; revision=116610
* Use __builtin_alloca() on compilers that have it. Keep the prototype forDag-Erling Smørgrav2003-06-151-1/+17
| | | | | | | the benefit of lint and non-{GNU,Intel} compilers. Notes: svn path=/head/; revision=116397
* Replace our ancient dtoa/strtod implementation with the gdtoaDavid Schultz2003-03-121-3/+3
| | | | | | | | | | | | | | | | | | | | | package, a more recent, generalized set of routines. Among the changes: - Declare strtof() and strtold() in stdlib.h. - Add glue to libc to support these routines for all kinds of ``long double''. - Update printf() to reflect the fact that dtoa works slightly differently now. As soon as I see that nothing has blown up, I will kill src/lib/libc/stdlib/strtod.c. Soon printf() will be able to use the new routines to output long doubles without loss of precision, but numerous bugs in the existing code must be addressed first. Reviewed by: bde (briefly), mike (mentor), obrien Notes: svn path=/head/; revision=112163
* Implement POSIX grantpt(3) functionality, and add a pt_chown utility (akinJuli Mallett2003-01-021-4/+4
| | | | | | | | | | | to Solaris, it is in /usr/libexec) to perform the handing over of tty nodes to the user being granted the pty. Submitted by: Ryan Younce <ryany@pobox.com> Reviewed by: security-officer@, standards@, mike@ Notes: svn path=/head/; revision=108574
* Back out the s/int */size_t */ commit.David E. O'Brien2002-12-301-1/+1
| | | | | | | | It makes a difference on 64-bit arches, and no one really wants a 2^64 block size [yet]. Notes: svn path=/head/; revision=108445
* Make the first argument of getbsize a size_t* instead of an int*, as this is ↵Mark Murray2002-10-231-1/+1
| | | | | | | what the quantity actually is. Fix an easy const while I'm here. Notes: svn path=/head/; revision=105797
* Whitespace cleanup (half for fixing missing whitespace before `__restrict'Bruce Evans2002-09-211-20/+21
| | | | | | | | | again). Removed the second pair of banal comments about `quot' and `rem'. Notes: svn path=/head/; revision=103766
* Use new visibility macros. Reorder some disordered declarations. AddGarrett Wollman2002-09-211-52/+104
| | | | | | | | | new 1003.1-2001 declarations, commented out in cases where we do not implement the function. Note that strtoq() and strtouq() are slated for deletion in 6.0. (2 of 5) Notes: svn path=/head/; revision=103728
* Without fixing the namespace issues, add prototypes for the new _Exit()Garrett Wollman2002-09-101-2/+5
| | | | | | | and qsort_r() functions. Fix one other missorted declaration. Notes: svn path=/head/; revision=103164
* Style: One space between "restrict" qualifier and "*".Tim J. Robbins2002-09-061-8/+8
| | | | Notes: svn path=/head/; revision=103012
* Add restrict qualifiers to the arguments of mbstowcs, mbtowc() andTim J. Robbins2002-09-011-3/+3
| | | | | | | wcstombs(). Notes: svn path=/head/; revision=102762
* o Merge <machine/ansi.h> and <machine/types.h> into a new headerMike Barcroft2002-08-211-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | called <machine/_types.h>. o <machine/ansi.h> will continue to live so it can define MD clock macros, which are only MD because of gratuitous differences between architectures. o Change all headers to make use of this. This mainly involves changing: #ifdef _BSD_FOO_T_ typedef _BSD_FOO_T_ foo_t; #undef _BSD_FOO_T_ #endif to: #ifndef _FOO_T_DECLARED typedef __foo_t foo_t; #define _FOO_T_DECLARED #endif Concept by: bde Reviewed by: jake, obrien Notes: svn path=/head/; revision=102227
* - Add the 'restrict' qualifier to the function prototypes andRobert Drehmel2002-08-151-5/+5
| | | | | | | | | | | definitions of the functions that convert strings to numbers and are defined by IEEE Std 1003-1.2001. - Use ANSI-C function definitions for all of the functions mentioned above plus strtouq and strtoq. - Update the prototypes in the manual pages. Notes: svn path=/head/; revision=101912
* Don't define wchar_t if we are a C++ compiler.David E. O'Brien2002-07-091-0/+2
| | | | | | | PR: 31864, 40084 Notes: svn path=/head/; revision=99640
* Convince lint via the standard lint-comment /* LONGLONG */ to notMark Murray2002-07-041-0/+5
| | | | | | | whine about our (valid) "long long" usage. Notes: svn path=/head/; revision=99404
* Const poison.Poul-Henning Kamp2002-05-301-1/+1
| | | | | | | Partially submitted by: wollman Notes: svn path=/head/; revision=97639
* Constify _malloc_options.Poul-Henning Kamp2002-04-241-1/+1
| | | | Notes: svn path=/head/; revision=95377
* Breath deep and take __P out of the system include files.Warner Losh2002-03-231-90/+88
| | | | | | | | | # This appears to not break X11, but I'm having problems compiling the # glide part of the server with or without this patch, so I can't tell # for sure. Notes: svn path=/head/; revision=93032
* const poison just like NetBSD.Warner Losh2002-03-221-7/+7
| | | | Notes: svn path=/head/; revision=92925
* Move user_from_uid to pwd.hWarner Losh2002-02-141-2/+0
| | | | | | | | | | | | | | | | Move group_from_gid to grp.h Remove from stdlib.h Make the prototypes match the code Fix rm and mv to include new files. NetBSD has these defined in those files, and others too that I've not done. Approved by: terminal room kabal Reviewed by: jhb, phk Notes: svn path=/head/; revision=90644
* Revert 1.29. It breaks the build. Will figure out a better way to doWarner Losh2002-02-131-2/+2
| | | | | | | this that doesn't break things. Notes: svn path=/head/; revision=90607
* Make the user_from_uid and group_from_gid prototypes match the actualWarner Losh2002-02-131-2/+2
| | | | | | | function definitions. Notes: svn path=/head/; revision=90606
* Fix support for K&R C.Mike Barcroft2001-12-221-1/+1
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=88399
* Oops, actually fix the namespace pollution for atoll() as the previousBruce Evans2001-11-291-4/+4
| | | | | | | commit claimed to do. Notes: svn path=/head/; revision=87086
* Fixed namespace pollution and/or breakage of K&R and C90 support related toBruce Evans2001-11-281-16/+21
| | | | | | | | | | | | | | | | | | | | | | | | the following functions in the following commits: - atoll() in revs 1.23-1.25 - llabs() and lldiv() in revs 1.22 - strtoq() and strtouq() in revs 1.18 C99 functions must not be declared in C90/POSIX.1-1990 sections, and "long long" must not be exposed to compilers that don't support it. Fixed style bugs (mainly misindentation and disorder) related the following functions in the following commits: - atoll() in revs 1.23-1.25 - getprogname() in rev.1.21 - sranddev() in revs 1.19-1.20 - strtoq() and strtouq() in rev.1.13 - user_from_uid() in rev.1.1 Breakage of K&R and C90 support used to be avoided by conditializing the "long long"s for strtoq() and strtouq() on __STRICT_ANSI__, but the conditionals should have gone away in rev.1.13 when the "long long"s went away (the problem was moved to the places that declare quad_t and u_quad_t). Notes: svn path=/head/; revision=87071
* Whitespace formattingAndrey A. Chernov2001-11-281-1/+2
| | | | Notes: svn path=/head/; revision=87021
* Fix just added atoll prototypeAndrey A. Chernov2001-11-281-1/+1
| | | | Notes: svn path=/head/; revision=87019
* Add atoll(3) to conform POSIX and C99Andrey A. Chernov2001-11-281-0/+1
| | | | Notes: svn path=/head/; revision=87017
* o Implement imaxabs(), imaxdiv(), llabs(), lldiv().Mike Barcroft2001-11-151-0/+13
| | | | | | | | | | o Update abs(3), div(3), labs(3), ldiv(3) to reflect standards conformance and add additional references. Reviewed by: bde, wollman Notes: svn path=/head/; revision=86368
* Introduce getprogname(3) and setprogname(3) library calls. These getDima Dorfman2001-05-151-0/+3
| | | | | | | | | | | | and set __progname, respectively. Discussed on: -arch (Feb 2001), -audit Reviewed by: -audit Approved by: kris Obtained from: (mostly) NetBSD Notes: svn path=/head/; revision=76653
* Move sranddev() to !ANSI_SOURCE !POSIX_SOURCE sectionAndrey A. Chernov2001-04-231-1/+1
| | | | | | | Pointed out by: bde Notes: svn path=/head/; revision=75859
* Add sranddev() prototypeAndrey A. Chernov2001-04-231-0/+1
| | | | Notes: svn path=/head/; revision=75846
* Impliment the ISO-C99 strto[u]ll()David E. O'Brien2001-02-271-0/+4
| | | | | | | and rewrite strto[u]q() in terms of it. Notes: svn path=/head/; revision=73152
* Make it possible to override the function which writes messages toPoul-Henning Kamp2000-11-261-0/+3
| | | | | | | | | | stderr in case of warnings and errors. Rename malloc_options to have a leading underscore, I belive I have been told that is more correct namespace wise. Notes: svn path=/head/; revision=69201
* Fixed missing declaration of rand_r(3).Bruce Evans1999-12-231-0/+2
| | | | Notes: svn path=/head/; revision=55031
* Little reorganization:Dmitrij Tejblum1998-12-191-5/+3
| | | | | | | | | | | | | - created internal names for fixed-size integral types, like __int32_t. They will be used to make several headers self-sufficient. - <stdlib.h> don't include <machine/types.h> anymore. - created <sys/inttypes.h>, which can be used as <inttypes.h>. - declaration of uoff_t and ufs_daddr_t moved to <sys/types.h>. Reviewed by: bde Notes: svn path=/head/; revision=41927
* Add reallocf to the library. This function is simliar to realloc, butWarner Losh1998-09-141-0/+1
| | | | | | | | | | | | | | | | when it returns NULL to indicate failure, it will also free the memory that was passed to it, if that was non-null. This does not change the semantics of realloc. A second commit will be done to commit the conversion of those places in the code that can safely use this to avoid memory leaks when confronted with low memory situations. Beaten-to-death-but-finally-approved-in: -current Notes: svn path=/head/; revision=39191
* Change the return types for strtoq and strtouq to int64_t and u_int64_tJohn Birrell1998-05-111-3/+2
| | | | | | | | | | | | instead of long long and unsigned long long. Really they should be quad_t and u_quad_t, but that would require sys/types.h and this header only includes machine/types.h. The difference here is that int64_t and u_int64_t on alpha are long and unsigned long, not long long etc. This is required to pass gcc's type checking where long != long long even though they are the same size of alpha. Notes: svn path=/head/; revision=35943
* Moved include of <sys/cdefs.h> earlier for the same reasons as movingBruce Evans1998-02-271-2/+2
| | | | | | | | | it in <sys/types.h>. PR: 5785 Notes: svn path=/head/; revision=33861
* Move machine/types.h to non-standard sectionAndrey A. Chernov1997-06-141-2/+3
| | | | | | | | Change order of arc4* functions Pointed-by: bde Notes: svn path=/head/; revision=26636
* Add arc4random family declarationAndrey A. Chernov1997-06-141-0/+5
| | | | Notes: svn path=/head/; revision=26630
* Instead of copying fallback code over and over in each program,Andrey A. Chernov1997-06-141-1/+1
| | | | | | | | | implement (better) falback code inside srandomdev() itself. Change return type from int to void (binary compatibility surprisely achieved). Userland code will be changed soon. Notes: svn path=/head/; revision=26624
* Add srandomdev() prototypeAndrey A. Chernov1997-03-231-0/+1
| | | | Notes: svn path=/head/; revision=24152