Commit Graph

382 Commits

Author SHA1 Message Date
Ruslan Ermilov
ae82896268 Consistently mark std(in|out|err) with .Dv, because that's how they
are marked up in stdio(3), and because they are defined expressions
of type "FILE *".

Approved by:	re
2002-12-04 18:57:46 +00:00
Ruslan Ermilov
92b1f2f7a3 mdoc(7) police: sweep. 2002-11-29 16:42:23 +00:00
Ruslan Ermilov
1798791d24 mdoc(7) police: formatting nits.
Approved by:	re
2002-11-29 15:57:50 +00:00
Ruslan Ermilov
c51d717f0c libc_r wasn't so tied to libc for 22 months. 2002-11-18 09:50:57 +00:00
Robert Drehmel
7ea630865e Define `Sudden_Underflow' when compiling for the Alpha
architecture, mainly to avoid getting a SIGFPE signal sent
when calling strtod(3) with certain input.

The SIGFPE has been sent because the code was not aware that
a Gradual Underflow is handled in software via traps on the
Alpha architecture, but is not implemented in our Alpha kernel
layer.

With `Sudden_Underflow' defined, strtod(3) should not depend
on Gradual Underflow and adjust its calculations accordingly,
which means that other, more subtle errors than the sending of
SIGFPE could be solved by this.

Discussed with:	bde
PR:		alpha/12623
PR:		alpha/17032
PR:		alpha/43567
MFC after:	7 days
2002-11-14 17:06:01 +00:00
Alfred Perlstein
e6fc380cd2 de-__P() 2002-10-16 22:18:42 +00:00
Robert Drehmel
6c84d0b1a5 - Remove the lsearch() and lfind() functions and their manpage from
the compatibility library libcompat.
 - Add new implementations of lsearch() and lfind() which conform to
   IEEE Std 1003.1-2001 to libc.  Add a new manual page for them and
   add them to the makefile.
 - Add function prototypes for lsearch() and lfind() to the search.h
   header.
2002-10-16 14:29:23 +00:00
Robert Drehmel
e2830bc9e0 Remove unneeded $FreeBSD$ tags. 2002-10-16 14:05:29 +00:00
Robert Drehmel
e768c1be41 - Remove the old insque() and remque() functions and their manual
page from the compatibility library.
 - Add new implementations of insque() and remque() which conform to
   IEEE Std 1003.1-2001 to libc.  Add a new manual page for them and
   connect them to the build.
 - Add the prototypes of insque() and remque() to the search.h
   header.
2002-10-16 14:00:46 +00:00
Tim J. Robbins
bd26dcd103 Fix a typo causing incorrect formatting for negative values in some locales
(at least the French ones), a memory leak upon successful termination, a
pointer arithmetic error causing heap corruption, and an off-by-one bug
causing incorrect amounts of padding at the right of the value.
2002-10-12 04:38:35 +00:00
Tim J. Robbins
2e9212d966 Save errno around calls to free(); at least some code paths clobber it
and we are not interested in any errors it may report.
2002-10-11 23:31:50 +00:00
Tim J. Robbins
d0d87283e9 Document the kind of format string strfmon() expects. Sync the Errors
section with reality.
2002-10-11 23:17:17 +00:00
Tim J. Robbins
2621915fa7 Use the new struct lconv members to determine how to format international
monetary values.
2002-10-11 23:08:03 +00:00
Tim J. Robbins
40a48101d3 Non-negative amounts should not have an extra space in front of them
when the `(' flag is used.
2002-10-11 23:04:59 +00:00
Tim J. Robbins
284d56227c "Left precision" and "right precision" are not flags, but separate parts
of the format string that appear after the field width.
2002-10-11 22:59:22 +00:00
Tim J. Robbins
ecab372b7e Add cross-references to wide character versions of these functions. 2002-10-10 04:31:57 +00:00
Mike Barcroft
553c116dad Add missing const qualifier in tfind(). 2002-10-03 06:33:33 +00:00
Eric Melville
a35a7e761a Add getopt_long(3).
Obtained from:	NetBSD
Sponsored by:	Apple
2002-09-29 04:14:37 +00:00
Mike Barcroft
883738f287 Add restrict type-qualifier. 2002-09-20 08:24:01 +00:00
Garrett Wollman
eca67d5104 Implement C99's _Exit() interface.
Implement a version of qsort that provides a thunk to the comparison function.

Update manual pages.
2002-09-10 02:04:49 +00:00
Garrett Wollman
2c5db8c62d Include some verbage about not calling exit() from functions registered
by atexit().
2002-09-06 19:23:28 +00:00
Tim J. Robbins
58d38e2520 Style: One space between "restrict" qualifier and "*". 2002-09-06 11:24:06 +00:00
Poul-Henning Kamp
bb7d71b99f s/EDOFUS/EDOOFUS/
Persuaded by:	Google
2002-08-21 17:11:00 +00:00
Robert Drehmel
5618f72405 - Add the 'restrict' qualifier to the function prototypes and
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.
2002-08-15 09:25:04 +00:00
Robert Drehmel
840b798c83 - Add the 'restrict' qualifier to match the IEEE Std 1003.1-2001
prototype of the tdelete(3) function.
 - Remove duplicated space.
 - Use an ANSI-C function definition for tdelete(3).
 - Update the manual page.
2002-08-14 21:16:41 +00:00
David Malone
ea33013bc4 Use a union to access the words of a double as this is less likely
to cause bugs when gcc is more aggressively optimising things.

There are still problems with dtoa mentioned in the PR - maybe
Dan could suggest a patch.

PR:		40209
Submitted by:	Dan Lukes <dan@obluda.cz>
Approved by:	bde
MFC after:	2 weeks
2002-08-13 14:17:39 +00:00
Poul-Henning Kamp
f42f7c54c8 Make sure we set errno sensibly in case of failure.
Spotted by:	ache
2002-08-09 10:16:24 +00:00
Andrey A. Chernov
27ebcacbb0 Nonexistent SIZE_MAX -> SIZE_T_MAX 2002-08-04 04:11:48 +00:00
Tim J. Robbins
d4ba1c2249 Signal an error instead of giving the caller less memory than they asked
for when num * size would cause integer overflow.

MFC after:	1 week
2002-08-04 02:52:11 +00:00
Garrett Wollman
f646fac5e0 Fix some comments. 2002-07-10 16:35:02 +00:00
Daniel Eischen
c40995b36a Remove improper use of <namespace.h> 2002-06-27 13:18:27 +00:00
Giorgos Keramidas
f2572d955f Clarify the bit about realloc() and its `ptr' argument a bit.
Hopefully, now it is more clear that the memory referenced by the
ptr argument of realloc(ptr,size) is freed and only the return value
of realloc() points to a valid memory area upon successful completion.

Submitted by:	Martin Faxer <gmh003532@brfmasthugget.se>
2002-06-06 22:11:19 +00:00
Poul-Henning Kamp
ff84d98ac2 Const poison.
Partially submitted by:	wollman
2002-05-30 21:59:16 +00:00
Ruslan Ermilov
74784e8141 mdoc(7) police: nit. 2002-05-29 15:44:34 +00:00
Alfred Perlstein
a82bbc730e Assume __STDC__, remove non-__STDC__ code.
Submitted by: keramida
2002-05-28 17:03:12 +00:00
Dima Dorfman
f500ce59aa Remove spurious period. 2002-05-27 03:45:27 +00:00
Benno Rice
56c18ed0ed Let this code know about PowerPC. 2002-05-21 03:40:42 +00:00
Peter Wemm
9269daa2fb Avoid casting a different sized integer to a pointer on LP64 systems. 2002-05-10 12:50:59 +00:00
Poul-Henning Kamp
9908ed2b1e Constify _malloc_options. 2002-04-24 16:49:36 +00:00
Mark Murray
4cd0119367 Do not use __progname directly (except in [gs]etprogname(3)).
Also, make an internal _getprogname() that is used only inside
libc. For libc, getprogname(3) is a weak symbol in case a
function of the same name is defined in userland.
2002-03-29 22:43:43 +00:00
David E. O'Brien
1114a754ed Fix the style of the SCM ID's.
I believe have made all of libc .h's as consistent as possible.
2002-03-22 23:42:05 +00:00
David E. O'Brien
333fc21e3c Fix the style of the SCM ID's.
I believe have made all of libc .c's as consistent as possible.
2002-03-22 21:53:29 +00:00
David E. O'Brien
1372519b15 Remove multi-line __P() usage. 2002-03-22 09:22:15 +00:00
David E. O'Brien
c05ac53b8b Remove __P() usage. 2002-03-21 22:49:10 +00:00
David E. O'Brien
8fb3f3f682 Remove 'register' keyword. 2002-03-21 18:49:23 +00:00
Tor Egge
df140f7277 When multiple threads call atexit at the same time, some operations must
be serialized.  A mutex is used to protect the critical regions.

sbrk() and brk() are not thread safe.  Replace use of sbrk() with
a call to malloc to avoid race when one thread calls atexit
while another thread calls malloc.

Reviewed by:	deischen
2002-03-05 17:34:37 +00:00
Jake Burkholder
dfca860bfc Add ifdefs for sparc64. 2002-02-23 19:05:26 +00:00
Yaroslav Tykhiy
b454be098e Minor typo fix: uquad_t -> u_quad_t. 2002-01-20 16:50:29 +00:00
Ruslan Ermilov
58c0fdd850 mdoc(7) police: add missing markup bits for ``errno''. 2002-01-09 14:03:54 +00:00
Andrey A. Chernov
f7388e0d38 Back out errno preserving 2001-12-30 03:34:46 +00:00
Andrey A. Chernov
98b870fa7b Add "except the handling of errors" into "equivalent to" paragraph.
Pointed by:	bde
Inspired by:	POSIX
2001-12-25 08:43:35 +00:00
Andrey A. Chernov
b12990ca58 Preserve errno.
According to C99:
"The  functions  atof,  atoi,  atol, and atoll need not
affect the value of  the  integer  expression  errno  on  an
error.   If  the  value of the result cannot be represented,
the behavior is undefined."
2001-12-25 04:10:50 +00:00
Alexey Zelkin
e578c6f17c * cleanup comments and defines
Reviewed by:	bde
2001-12-14 11:36:37 +00:00
Ruslan Ermilov
f7475de715 mdoc(7) police: fix markup, bump document date. 2001-12-12 14:53:51 +00:00
Ruslan Ermilov
f0cc88ffed mdoc(7) police: kill HSBs, add missing comma. 2001-12-12 14:41:53 +00:00
Ruslan Ermilov
9a05e59078 mdoc(7) police: fix markup. 2001-12-12 14:40:09 +00:00
Alexey Zelkin
52d6b43026 Add my e-mail to copyrights 2001-12-11 16:00:47 +00:00
Alexey Zelkin
a94da0a9f3 Get rid of unused anymore file! Alpha works fine with our strtod() now. 2001-12-07 17:19:09 +00:00
Andrey A. Chernov
f34b139cda Return 'c' back to signed due to potential comparison problems
Use simpler test for valid ranges

Submitted by:	bde
2001-12-07 16:33:47 +00:00
Peter Wemm
6464bbfa03 Use the merged strtod.c everywhere. This has been tested on alpha and
ia64.
2001-12-02 18:27:40 +00:00
Andrey A. Chernov
4bd71a3c89 Make it works for non ASCII compatible encodings too.
The only assumption left is that 'A'..'Z' 'a'..'z' both are contiguous
2001-12-02 09:15:54 +00:00
Alexey Zelkin
4a57e677c7 Merge NetBSD's changes from netbsd_strtod.c in preparation of
removing it from our source tree in order to have one version
of strtod() for all arches. netbsd_strtod.c still left in source
tree until alpha folks make sure that our native strtod() works
as well as NetBSD's one.

Reviewed by: peter, bde (some time ago)
2001-11-30 12:48:30 +00:00
Andrey A. Chernov
2209d8a27c Back out national digits support, POSIX explicetely disallows it:
The definition of character class digit requires that only ten characters
-the ones defining digits- can be specified; alternate digits (for
example, Hindi or Kanji) cannot be specified here. However, the encoding
may vary if an implementation supports more than one encoding.

The definition of character class xdigit requires that the characters
included in character class digit are included here also and allows for
different symbols for the hexadecimal digits 10 through 15.
2001-11-29 03:03:55 +00:00
Andrey A. Chernov
87c25490c8 Don't ever assume that isdigit() is always subset of isxdigit() 2001-11-28 06:06:27 +00:00
Andrey A. Chernov
7bbd0c8b5b Fix typo 2001-11-28 05:43:24 +00:00
Andrey A. Chernov
76604b47c1 Use stricter tests to disallow national digits > 9
Optimize national digits code a bit
2001-11-28 05:39:21 +00:00
Andrey A. Chernov
01a0db1367 Allow national (non-ASCII) digits 2001-11-28 03:57:12 +00:00
Bill Fenner
9c5cbc30e7 Implement strtoimax() and strtoumax() 2001-11-28 03:37:06 +00:00
Bill Fenner
3b175d881c Also mention "long long" in synopsis. 2001-11-28 03:36:05 +00:00
Bill Fenner
b9004c1158 Base 36 is allowed. 2001-11-28 02:35:35 +00:00
Andrey A. Chernov
649ffc6d4b Put back base > 35 check. If someone dislike it, plese discuss it with
standards group first.
2001-11-28 02:17:22 +00:00
Andrey A. Chernov
59d01330c4 Add atoll(3) to conform POSIX and C99 2001-11-28 01:22:08 +00:00
Andrey A. Chernov
7e302fc7a2 Understand national (non-ASCII) digits now
Allow bases >=36 again
Misc cleanup
2001-11-28 00:48:11 +00:00
Giorgos Keramidas
fe1b3cedf9 Be more explicit about the fact that realloc() might return a
different pointer than the one passed to it.

PR:		docs/31925
Submitted by:	Andrew <andrew@ugh.net.au>
2001-11-24 03:05:40 +00:00
Ruslan Ermilov
b18f229930 mdoc(7) police: fixed typos and minor markup nits. 2001-11-21 16:19:50 +00:00
Poul-Henning Kamp
7224d02a0d If 'VX' is given, realloc(foo,0) will bail, it shouldn't.
PR:		29376
Submitted by:	Farooq Mela <fmela0@sm.socccd.cc.ca.us>
2001-11-17 10:57:04 +00:00
Poul-Henning Kamp
4b9a9ef10b Correctly call THREAD_UNLOCK() if the recursive call trap is sprung.
Pointed out by:		knu
2001-11-16 18:15:33 +00:00
Mike Barcroft
7a4a63270f o Implement imaxabs(), imaxdiv(), llabs(), lldiv().
o Update abs(3), div(3), labs(3), ldiv(3) to reflect standards
  conformance and add additional references.

Reviewed by:	bde, wollman
2001-11-15 02:05:03 +00:00
Dima Dorfman
8b642e3004 malloc and calloc do not free memory.
PR:		31365
Submitted by:	SUZUKI Koichi <koich@cac.co.jp>
2001-11-05 00:39:27 +00:00
Peter Wemm
b1f214cf5f Make strtod.c work on Alpha as well. strtod.c has got locale support,
the netbsd_strtod.c file we have does not.  More still should be done
here, but this works happily on my Alpha.  I have not (yet?) changed
the Makefile.inc to use this.
2001-11-04 21:30:12 +00:00
Peter Wemm
f29f85e083 Slightly closer to netbsd_strtod.c:
s/IEEE_8087/IEEE_LITTLE_ENDIAN/
s/IEEE_MC68k/IEEE_BIG_ENDIAN/
2001-11-04 18:04:00 +00:00
Poul-Henning Kamp
0f400b2861 phkmalloc->evilchecks++;
If zero bytes are allocated, return pointer to the middle of page-zero
(which is protected) so that the program will crash if it dereferences
this illgotten pointer.

Inspired & Urged by:	Theo de Raadt <deraadt@cvs.openbsd.org>
2001-11-02 11:32:28 +00:00
Mark Murray
724641c6f4 Add a long-overdue nail to the deprecated /dev/urandom interface
by asking some things that need unpredictable numbers to read
/dev/random instead.
2001-10-30 21:26:50 +00:00
Doug Rabson
a4ddd40c34 Make this work on ia64. I have no idea why it works on alpha - it
shouldn't.
2001-10-06 15:58:54 +00:00
Alfred Perlstein
9c2ccf2741 Avoid getting stuck in system(3) when the internal call to wait4()
is interrupted by saving the pid.

The old code would assign the return value to pid which would trash
it, to fix the problem save a copy of the pid to be used as the
paramter to wait4().

Submitted by: Toshihiko ARAI <toshi@jp.FreeBSD.org>
2001-10-03 11:01:39 +00:00
Ruslan Ermilov
2677aa4b68 mdoc(7) police: don't split author names in the AUTHORS section. 2001-10-01 13:50:03 +00:00
Ruslan Ermilov
ae0d2bed3e mdoc(7) police: s/atof/atoi/ 2001-10-01 12:44:24 +00:00
Jeroen Ruigrok van der Werven
54045486e0 Add ERRORS section.
Mention thread safety and async-cancel safety status [not].
Add standards compliancy references.
Note strtol() is preferred over atoi().

MFC after:	2 weeks
2001-09-26 20:22:44 +00:00
Jeroen Ruigrok van der Werven
5578cfa2fa Be explicit about the POSIX version it conforms to [in this case 1990].
Put the error comment under the more appropriate ERRORS section.
2001-09-26 20:10:10 +00:00
Jeroen Ruigrok van der Werven
99e8131545 Change standards compliancy order so that C and POSIX are grouped. 2001-09-26 19:42:39 +00:00
Mike Barcroft
a5aecc7707 style(9)
Silence from:	phantom
2001-09-17 00:23:19 +00:00
Ruslan Ermilov
8fc5ce4d99 mdoc(7) police: changed pure POSIX text; added missing markup bits. 2001-09-11 09:39:23 +00:00
Jeroen Ruigrok van der Werven
49c65386a5 Add more standards which we conform to.
Note our implementation is not thread nor async-cancel safe.
Explicitely note atof() does not check nor report errors.
Note that strtod() should be used instead.
2001-09-09 21:09:53 +00:00
Jeroen Ruigrok van der Werven
e348b8ea25 Detail thread-safe and async-cancel-safe status.
Also add C99 conformity status plus clarification that C99 leaves the
flushing of unwritten data, closure of open streams, and removal of
temporary files to the implementation.
2001-09-09 18:52:00 +00:00
Jeroen Ruigrok van der Werven
8aefde0607 Move to using .In instead of .Fd #include <> for include mark-up.
Inspired by comment from:	dd
2001-09-07 14:46:36 +00:00
Alexey Zelkin
84b4fdf912 reconnect strfmon.c to build list 2001-09-07 13:03:16 +00:00
Jeroen Ruigrok van der Werven
fbded4984e Fix some mdoc nits caused by my knowledge not being too up-to-date on
mdocNG.

Submitted by:	dd
2001-09-07 12:38:10 +00:00
Doug Rabson
8e37b82334 Port to ia64, taking into account the fact that pagesizes may be variable. 2001-09-07 12:32:43 +00:00
Jeroen Ruigrok van der Werven
8c9893a371 Add strfmon.3 to the fray.
This is a first cut, but enough to help people interested in using it
further than before.
More text coming to illustrate use and provide more details.

Based on standards' text.
2001-09-07 09:55:28 +00:00
Alexey Zelkin
f6a9e03fe5 correctly wrap macros with { } 2001-09-06 09:26:28 +00:00