David Schultz
6a66acb565
Replace our ancient dtoa/strtod implementation with the gdtoa
...
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
2003-03-12 20:30:00 +00:00
Tim J. Robbins
be0ccb6800
MFp4: Add the standard "the {fgetws,fputws} function will fail if" text
...
to the Errors section.
2003-03-09 02:56:54 +00:00
Ruslan Ermilov
522ccf3f35
mdoc(7) police: markup laundry.
2003-02-23 01:47:49 +00:00
Gregory Neil Shapiro
8f3e32c2b6
Fix the description for mkdtemp(), which creates directories, not files.
...
Submitted by: Murray S. Kucherawy <msk@blackops.org>
X-MFC after: re approval
2003-02-19 04:40:30 +00:00
Jacques Vidrine
e0554a531f
Eliminate 61 warnings emitted at WARNS=2 (leaving 53 to go).
...
Only warnings that could be fixed without changing the generated object
code and without restructuring the source code have been handled.
Reviewed by: /sbin/md5
2003-02-16 17:29:11 +00:00
Mike Makonnen
e5b9245bfa
Fix use of an uninitialized pointer introduced in a previous revision.
...
Approved by: markm (mentor)(implicit)
2003-02-06 01:08:19 +00:00
Tim J. Robbins
56b9200d1f
Back out previous. Many people disagreed with removing the warning.
2003-01-30 23:32:53 +00:00
Tim J. Robbins
8137227111
Remove runtime warning about gets().
2003-01-30 12:00:26 +00:00
Tim J. Robbins
21d4d23958
Lock stdin on entry, unlock on return, use __sgetc() instead of getchar()
...
to avoid locking the stream for each character and to avoid input being
scattered among multiple threads.
2003-01-30 11:46:25 +00:00
Tim J. Robbins
21a1863da8
Remove part of my stateful locale patch that slipped into the previous rev.
2003-01-26 11:45:54 +00:00
Tim J. Robbins
c297498757
Initial implementation of the C99 feature whereby calling freopen() with
...
a NULL filename argument allows a stream's mode to be changed. At the
moment it just recycles the old file descriptor instead of storing the
filename somewhere and using that to reopen the file, as the standard
seems to require. Strictly conforming C99 applications probably can't
tell the difference but POSIX ones can.
PR: 46791
2003-01-26 10:01:59 +00:00
Tim J. Robbins
2c19171bc1
Lock the stream before calling __sfileno() to retrieve the file descriptor.
...
1003.1-2001 requires that fileno() behave as if it locks the stream.
2003-01-13 02:58:18 +00:00
Tim J. Robbins
83bb3b4979
Add missing word to "Return Values" section.
2003-01-13 01:29:14 +00:00
Tim J. Robbins
c24891e9e2
The macro versions of putc() and putchar() are gone.
2003-01-10 07:47:12 +00:00
Tim J. Robbins
9031030003
There is no macro version of getc() anymore.
2003-01-10 07:45:24 +00:00
Tim J. Robbins
72c9dabbb7
Bring the list of function-like macros up to date with reality.
2003-01-10 07:38:38 +00:00
Alfred Perlstein
d2b9b6b10c
spell multiple correctly.
2003-01-10 06:52:19 +00:00
Tim J. Robbins
4549f62011
Document clearerr_unlocked(), feof_unlocked(), ferror_unlocked()
...
and fileno_unlocked().
2003-01-10 06:22:28 +00:00
Tim J. Robbins
4d844c09ac
Add a manual page for flockfile(), ftrylockfile(), and funlockfile().
2003-01-10 05:34:11 +00:00
Tim J. Robbins
cbee408df1
Document getc_unlocked(), getchar_unlocked(), putc_unlocked(),
...
and putchar_unlocked().
2003-01-10 04:56:20 +00:00
Tim J. Robbins
a5b0089e65
Add function versions of getchar_unlocked(), getc_unlocked(),
...
putchar_unlocked(), putc_unlocked(), feof_unlocked(), ferror_unlocked(),
clearerr_unlocked(), and fileno_unlocked(). The first four are required
by POSIX. The rest are provided for consistency.
2003-01-10 04:35:08 +00:00
Tim J. Robbins
16fdde11b7
Remove an unused variable: mbresult.
2003-01-07 06:20:47 +00:00
Tim J. Robbins
0b4b7b65ed
#include <stdlib.h> for free()'s prototype.
2003-01-07 06:17:13 +00:00
Tim J. Robbins
e2b090f34f
Note that the printf(3) and scanf(3) family of functions don't deal with
...
multibyte characters in the format string correctly.
2003-01-06 06:19:19 +00:00
Tim J. Robbins
43a240930c
#include "local.h" to make __svfscanf()'s prototype visible.
2003-01-03 23:27:27 +00:00
Tim J. Robbins
276ba5b4fa
Reset the stream orientation to 0 (unoriented) in freopen(), as required
...
by the C standard.
2003-01-03 12:27:19 +00:00
Ruslan Ermilov
facc67676f
mdoc(7) police: Deal with self-xrefs.
2002-12-24 13:41:48 +00:00
Tim J. Robbins
4aca04ee5c
Document the fact that the printf() family of functions return negative
...
values (EOF in our case) on error, and some of the possible errno values
in an Errors section.
PR: 39257
2002-12-20 08:28:10 +00:00
Tim J. Robbins
5a7405be50
C99 standardised the vscanf() family of functions, update Standards
...
section to reflect this.
2002-12-20 07:46:01 +00:00
Tim J. Robbins
37d2356335
Write the message to stderr, not file descriptor 2, so that perror()
...
writes to the correct stream if stderr has been redirected with freopen().
2002-12-19 09:53:26 +00:00
Tim J. Robbins
a207a8e3f1
Use strerror_r() to format the error message so that strerror()'s static
...
buffer does not get clobbered.
ISO/IEC 9899:1999 7.21.6.2 3:
"The implementation shall behave as if no library function calls the
strerror function."
2002-12-19 09:50:10 +00:00
Ruslan Ermilov
2efeeba554
mdoc(7) police: "The .Fa argument.".
2002-12-19 09:40:28 +00:00
Ruslan Ermilov
5c564bae0a
mdoc(7) police: Fixed abuses of the .Ar and .Em macros.
2002-12-18 13:33:04 +00:00
Ruslan Ermilov
1fae73b137
mdoc(7) police: "The .Fn function".
2002-12-18 12:45:11 +00:00
Ruslan Ermilov
a9a15f3ea4
mdoc(7) police: tiny nits.
...
Approved by: re
2002-12-09 14:11:37 +00:00
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
898f520da8
mdoc(7) police: markup overhaul.
...
Approved by: re
2002-12-04 17:49:15 +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
Warner Losh
cf04ed1bdf
bde points out that the LIBC_MAJOR macro doesn't exist and requests
...
that we not use it here. In its place I've put a comment about the
current state of play.
Submitted by: bde
2002-11-14 14:06:14 +00:00
Warner Losh
c906b66373
Restore Peter's version of static __sF. There's too much pain for it
...
to be static for 5.0. I may remove this for 5.1 or 5.2. No more
binaries or libarires will be generated with __sF starting as of
yesterday. Originally the plan had been to eliminate this for 5.0,
but we didn't get the __std{in,out,err}p changes merged into -stable
until yesterday (rather than in September 2001 like it should have
been). Given that didn't happen on time, we can't do the other part
of the scheme now.
# Please do not change this without talking to me first.
2002-11-10 08:44:38 +00:00
Alfred Perlstein
ac1cc6ee11
Backout "compatibility hack" for __sF.
...
Requested by: Steve Kargl <sgk@troutmask.apl.washington.edu> (submitter)
2002-11-04 03:23:56 +00:00
Alfred Perlstein
0fc25b925d
Provide a hook to make __sF visible outside of libc for commercial apps
...
if WANT_COMPAT4_STDIO is defined when compiling libc.
Submitted by: Steve Kargl <sgk@troutmask.apl.washington.edu>
2002-11-02 19:47:53 +00:00
Tim J. Robbins
14ffdae94d
No need to include floatio.h here: vfscanf() no longer uses anything
...
it defines.
2002-11-01 05:13:01 +00:00
Alfred Perlstein
c313cb2abf
Make __sF static. This can not be allowed to exist in 5.x.
2002-10-31 01:54:27 +00:00
Tim J. Robbins
ae95ea1a26
Cross-reference putc(3).
2002-10-28 10:35:18 +00:00
Tim J. Robbins
79db40061f
The ORIENTLOCK macro is no longer needed since all functions use
...
FLOCKFILE/FUNLOCKFILE explicitly.
2002-10-25 07:01:56 +00:00
Tim J. Robbins
9619813de9
Cross-reference fmtcheck(3).
2002-10-20 03:56:37 +00:00
Peter Wemm
d7dd6ae7ec
Give in on the __sF stuff. I have a better fix in mind that is future
...
proof, but this should buy me some time for now.
2002-10-19 22:28:07 +00:00
Tim J. Robbins
118bb75e02
Indent code example with one tab, not two, for consistency with the rest.
2002-10-19 13:48:45 +00:00
Tim J. Robbins
0145ba86d1
Fix off-by-one error when pushing back a multibyte sequence in
...
wide character class (%l[) and wide string (%ls) conversions.
2002-10-17 13:04:00 +00:00
Tim J. Robbins
63b01047f4
Make part of the previous change clearer; check flags for SUPPRESS directly
...
instead of checking whether we're using a temporary buffer.
2002-10-17 12:06:29 +00:00
Tim J. Robbins
bd25c6f476
The field width for single-byte string conversions (%c, %s, %[) is the
...
maximum number of bytes that may be stored in the array, not the maximum
number of wide characters to read. The wording of the standard unfortunately
does not make this clear.
2002-10-17 12:02:36 +00:00
Tim J. Robbins
35739e072b
Count field width correctly for suppressed multibyte fields (%*lc,
...
%*ls, %*l[).
2002-10-16 14:07:08 +00:00
Tim J. Robbins
6180233fd8
Set the error bit on the stream if an encoding error occurs. Improve
...
handling of multibyte sequences representing null wide characters.
2002-10-16 12:09:43 +00:00
Tim J. Robbins
927ecbf313
Add support for the XSI %C and %S formats, which are the same as %lc
...
and %ls.
2002-10-16 03:55:53 +00:00
Tim J. Robbins
af1c9c0e4d
Use a weak reference instead of a macro to make vfscanf an alias
...
for __vfscanf.
2002-10-14 11:18:21 +00:00
Kris Kennaway
61bdf123c3
Ignore TMPDIR if the application is setugid.
...
MFC after: 2 weeks
2002-10-13 11:22:16 +00:00
Mike Barcroft
54e4e385de
Add restrict type-qualifier.
2002-10-12 16:13:41 +00:00
Tim J. Robbins
419c442678
Describe the restrictions on seeking on wide character streams, and also
...
point out that fseek() clears the ungetwc() buffer.
2002-10-12 09:22:25 +00:00
Peter Wemm
74a4ba21f7
Zap the early-adopter transition aid before we get into serious
...
5.0-R territory, as threatened. This only affects antique 5.0
systems that have not had a 'make world' done for well over a year.
2002-10-11 22:38:17 +00:00
Tim J. Robbins
ce04c11001
Cross-reference between byte and wide-character stdio functions. Remove
...
references to fputwc() and fgetwc() being macros while I'm at it.
2002-10-10 04:12:40 +00:00
Tim J. Robbins
3619568a64
Remove masking macros for getwc(), putwc(), putwchar() and getwchar().
...
Although there was nothing wrong with getwc() and putwc(), getwchar()
and putwchar() assumed that <stdio.h> had been included before <wchar.h>,
which is not allowed by the standard.
2002-09-28 07:43:44 +00:00
Tim J. Robbins
27a29543f3
Back out previous, free the buffer when __vfprintf() fails and don't bother
...
trying to shrink the buffer with realloc() before returning it.
2002-09-26 13:11:24 +00:00
Tim J. Robbins
344141d1fd
Back out previous and solve the problems a different way: move va_start/
...
va_end closer to the __vfprintf() call, free the buffer when __vfprintf()
fails and don't bother trying to shrink the buffer with realloc() before
returning it.
Submitted by: bde
2002-09-26 13:09:48 +00:00
Tim J. Robbins
23b6f7902d
Correctly handle the case where __vfwprintf() fails because it runs out
...
of memory.
2002-09-26 08:26:16 +00:00
Tim J. Robbins
3383deca89
Sync with OpenBSD: avoid memory leak when __vfprintf() fails because it
...
runs out of memory, always call va_end.
2002-09-26 07:55:18 +00:00
Tim J. Robbins
38b5abad06
Add cross-references between wide character and single-byte character
...
versions of printf() and scanf().
2002-09-24 09:22:47 +00:00
Tim J. Robbins
89265cb899
Remove an unneeded call to _sfrefill() that was missed in the conversion
...
from vfscanf() to vfwscanf(). It doesn't hurt to have it there, but it's
redundant since __fgetwc() will refill the buffer if it needs to.
2002-09-24 09:18:32 +00:00
Tim J. Robbins
d07090a880
Use the new va_copy macro to copy variable argument lists instead of
...
assignment. This is needed on powerpc but is also more correct for the
other ports.
Submitted by: grehan
Tested on: alpha, i386, sparc64
2002-09-24 00:47:27 +00:00
Tim J. Robbins
1f4ff8506a
Add implementations of wscanf() and related functions: fwscanf(), swscanf(),
...
vfwscanf(), vswscanf(), vwscanf(). As the name suggests, these are wide-
character versions of the scanf() family of functions.
2002-09-23 12:40:06 +00:00
Tim J. Robbins
4712aa3b59
Implement the %lc, %ls and %[ conversions, which read sequences of wide
...
characters, non-whitespace wide character strings and wide character
strings in a scanset.
2002-09-23 11:35:50 +00:00
Tim J. Robbins
adc106840c
The character argument for __ungetwc() should be wint_t instead of wchar_t.
2002-09-23 11:31:18 +00:00
Tim J. Robbins
5f147b57ac
Add an unlocked version of ungetwc(), __ungetwc(), that __vfwscanf()
...
will need to use.
2002-09-22 05:59:00 +00:00
Tim J. Robbins
0e2e10070d
Delete stray reference to vsnprintf().
2002-09-21 14:25:58 +00:00
Tim J. Robbins
c5604d0a50
Add implementations of the wprintf() family of functions, which perform
...
formatted wide-character output.
2002-09-21 13:00:30 +00:00
Tim J. Robbins
7591ae56ae
Lock the file once per call and use the unlocked fgetwc()/fputwc() variants.
2002-09-20 13:25:40 +00:00
Tim J. Robbins
9260341650
Lock and unlock the file once per call and use the unlocked version of
...
ungetc() instead of having ungetc() recurse on the lock.
2002-09-20 13:23:26 +00:00
Tim J. Robbins
8f030a44b8
Introduce unlocked versions of fputwc() and fgetwc() called __fputwc()
...
and __fgetwc() which can be used when we know the file is locked.
2002-09-20 13:20:41 +00:00
Tim J. Robbins
b9aac30810
Implement the %ls and %lc conversions for printing wide character strings
...
and wide characters. These were already documented in the manual page,
with an entry mentioning that they were not implemented yet. The XSI
%S and %C synoyms have not been added.
2002-09-19 12:50:28 +00:00
Tim J. Robbins
0b7bc80226
Optimise the common case where no special encoding is in use (LC_CTYPE is "C"
...
or "POSIX", other European locales). Use __sgetc() and __sputc() where
possible to avoid a wasteful lock and unlock for each byte and to avoid
function call overhead.
2002-09-18 12:17:28 +00:00
Tim J. Robbins
bddc6280f2
Logic error in previous: don't exit the loop when an incomplete multibyte
...
sequence is detected.
2002-09-18 10:21:41 +00:00
Tim J. Robbins
24990dfad0
Reimplement the functionality of fgetrune(), fputrune(), and fungetrune()
...
here in terms of mbrtowc(), wcrtomb(), and the single-byte I/O functions.
The rune I/O functions are about to become deprecated in favour of the
ones provided by ISO C90 Amd. 1 and C99.
2002-09-18 05:58:11 +00:00
Maxim Konovalov
48eaac247f
Fix vsnprintf(3) memory leak for size == 0.
...
PR: bin/36175
Obtained from: OpenBSD
Reviewed by: silence on -audit
MFC after: 5 days
2002-09-17 11:28:24 +00:00
Tim J. Robbins
4d783ded07
Convert eight space indents to tabs in the "*" format handling code.
2002-09-16 12:07:13 +00:00
Tim J. Robbins
58d38e2520
Style: One space between "restrict" qualifier and "*".
2002-09-06 11:24:06 +00:00
Jens Schweikhardt
3dd657600a
Print a '-' sign for negative zero. Tested with
...
#include <stdio.h>
int main(void)
{
printf("%+f\n", -0.0);
printf("%+f\n", +0.0);
printf("%+f\n", 0.0);
return 0;
}
to output
-0.000000
+0.000000
+0.000000
PR: bin/41823
Submitted by: GOTO Kentaro <gotoken@notwork.org>
Liked by: bde
MFC after: 3 weeks
2002-08-27 20:11:08 +00:00
Mike Barcroft
abbd890233
o Merge <machine/ansi.h> and <machine/types.h> into a new header
...
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
2002-08-21 16:20:02 +00:00
Juli Mallett
6879bea818
Leave room for a trailing NUL not a NULL, that's not an ASCII character.
2002-08-19 03:52:36 +00:00
Robert Drehmel
f8418db73e
- For compliance with IEEE Std 1003.1-2001, add the 'restrict'
...
qualifier to function prototypes and definitions where
appropriate using the '__restrict' macro.
- Update the manual page.
2002-08-15 10:28:52 +00:00
Robert Drehmel
71a00a449f
- Introduce the 'restrict' qualifier to function prototypes and
...
definitions to comply with IEEE Std 1003.1-2001.
- Update the manual pages.
2002-08-15 09:47:10 +00:00
Robert Drehmel
3248d0a517
- Add the 'restrict' qualifier to the function definitions and
...
public prototypes of setbuf(3) and setvbuf(3) using the
'__restrict' macro from <sys/cdefs.h> to be compliant with
IEEE Std 1003.1-2001.
- Replace the K&R with ANSI-C function definitions.
- Bring the manual page up-to-date.
2002-08-14 23:45:42 +00:00
Poul-Henning Kamp
209c34ba95
Unbreak one of the most confusing breaks of the tree I've seen.
...
The last commit cannot possibly have been tested.
2002-08-13 18:55:51 +00:00
Tim J. Robbins
439cb19e04
Tidy up SRCS and MAN assignments.
2002-08-13 11:56:02 +00:00
Tim J. Robbins
73ab4b2b33
Remove the Bugs section, which is not relevant to FreeBSD: there is no
...
one-character ungetwc(3) buffer limit.
2002-08-13 10:50:22 +00:00
Tim J. Robbins
46624699bd
FreeBSD-ify: use In macro for header files in Synopsis, St C-99 instead of
...
St C99 in Standards section.
2002-08-13 10:47:17 +00:00
Tim J. Robbins
e74101e4ef
Basic support for wide character I/O: getwc(), fgetwc(), getwchar(),
...
putwc(), fputwc(), putwchar(), ungetwc(), fwide().
2002-08-13 09:30:41 +00:00
Tim J. Robbins
01533af5a0
Manual pages for fwide(), getwc(), fgetwc(), getwchar(), putwc(), fputwc(),
...
putwchar(), ungetwc() from NetBSD and Citrus Project, unmodified except
for the addition of $FreeBSD$.
Obtained from: NetBSD, Citrus Project
2002-08-12 13:23:12 +00:00
Jens Schweikhardt
2b239dd118
Fix typos; each file has at least one s/seperat/separat/
...
(I skipped those in contrib/, gnu/ and crypto/)
While I was at it, fixed a lot more found by ispell that I
could identify with certainty to be errors. All of these
were in comments or text, not in actual code.
Suggested by: bde
MFC after: 3 days
2002-08-11 13:05:30 +00:00
Ruslan Ermilov
a8272f7106
mdoc(7) police: punctuation.
2002-08-09 11:24:21 +00:00
Garrett Wollman
c98a4bf3fb
Don't claim to fully implement C99 in the STANDARDS section and then disclaim
...
compliance in the BUGS section immediately below.
2002-07-15 19:46:06 +00:00
Garrett Wollman
647e4efd97
Note that fseeko() and ftello() are standard in 1003.1-2001.
...
(Prefer the more-encompassing POSIX standard to SUSv2.)
2002-07-15 19:42:25 +00:00
Chris Costello
1b5c321d3f
Fix style and wording bugs introduced in my last commit.
...
Sponsored by: DARPA, NAI Labs
2002-06-18 08:55:17 +00:00
Chris Costello
5f9c048ce7
o Move more information from BUGS into SECURITY CONSIDERATIONS and
...
condense the redundant bits.
o Provide an example for using snprintf over sprintf. This may be
supplemented with an asprintf() example soon.
Sponsored by: DARPA, NAI Labs
2002-06-15 06:00:56 +00:00
Chris Costello
7bc7869122
Include information on the dangers of passing a user-supplied string as
...
a format string. This will later on be changed to a reference to the
FreeBSD Security Architecture after it has been committed.
PR: docs/39320
Sposnored by: DARPA, NAI Labs
2002-06-13 23:35:22 +00:00
Archie Cobbs
6accdce98b
Grammar fix: "contents" is plural.
...
MFC after: 1 day
2002-05-31 05:01:17 +00:00
Ruslan Ermilov
432e57ebfa
mdoc(7) police: markup nits.
2002-05-30 09:53:47 +00:00
Ruslan Ermilov
16fb684936
mdoc(7) police: fix markup for types.
2002-05-29 15:42:59 +00:00
Alfred Perlstein
a82bbc730e
Assume __STDC__, remove non-__STDC__ code.
...
Submitted by: keramida
2002-05-28 17:03:12 +00:00
Robert Drehmel
6e818f06aa
Correct a check for NUL.
...
Spotted by: bde
2002-05-27 19:27:43 +00:00
Robert Drehmel
fb08c0489d
- Move the loop conditional into the "for" header.
...
- Remove redundant "? :" construct.
style(9):
- Place a space after return statements.
- Compare pointers to NULL.
- Do not use ! to compare a character to nul.
2002-05-27 11:01:30 +00:00
Robert Drehmel
ccccc4e1c3
Avoid wandering over the beginning of the actual buffer
...
if the passed template string contains only 'X' characters.
Submitted by: Mark Andrews <marka@isc.org> (patch modified)
PR: 38402
2002-05-23 14:21:02 +00:00
Tony Finch
cfad593dbd
Clarify that the value of getc() etc. is an unsigned char converted
...
to an int (as per the C standard) i.e. it can be passed straight to
isalpha() etc.
Approved by: dwmalone (mentor)
MFC after: 3 days
2002-05-15 16:55:58 +00:00
Bill Fenner
946b2d0057
Implement several of the c99 updates to scanf(3):
...
- New length modifiers: hh, j, ll, t, z.
Still to do:
- %C, %S, %lc, %ls (wide character support)
- %a/%A (exact hex representation of floating-point numbers)
Removed old compatability equivalents:
- %D for %ld, %O for %lo, %X for %lx, %E and %F for %le & %lf (these
were buggy anyway, since they should have represented %Le & %Lf).
- %[unknown uppercase char] for %ld, %[unknown lowercase char] for %d
2002-04-20 17:00:56 +00:00
Tom Rhodes
7d358b9a2a
scanf.3 has an obsolete ``this release''.
...
PR: 35610
MFC after: 2 days
2002-04-10 20:52:49 +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
Dima Dorfman
38261ac8d6
Don't refer the reader to look for a word that doesn't exist anywhere
...
else in the page.
PR: 35623
Submitted by: Gary W. Swearingen <swear@blarg.net>
2002-03-10 09:20:28 +00:00
Ruslan Ermilov
ce9df6eefc
mdoc(7) police:
...
Stop abusing the .%J macro for where the .Pa macro should have been used.
2002-01-09 14:01:22 +00:00
Chris Costello
6ba681a185
All information from the "BUGS" section not belonging in "SECURITY
...
CONSIDERATIONS" moved to "COMPATIBILITY".
Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs
2002-01-06 21:48:37 +00:00
Chris Costello
e125c135a8
Add new "SECURITY CONSIDERATIONS" sections.
...
Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs
2002-01-06 21:16:41 +00:00
Alexey Zelkin
2e394b2fc1
Fix some style bugs
...
Prompted by: mike
2001-12-17 15:11:29 +00:00
Alexey Zelkin
243e90d646
Also fix cases when thousands separator should be put before number. For
...
example before for grouping sequence "\003\003" number 123456 was formated
as ",123,456", now "123,456".
2001-12-13 21:05:27 +00:00
Alexey Zelkin
98ee763522
Respect locale while handling of \' flag.
...
In original version grouping was hardcoded. It assumed that thousands
separator should be inserted to separate each 3 numbers. I.e. grouping
string "\003" was assumed for all cases. In correct case (per POSIX)
vfprintf should respect locale defined non-monetary (LC_NUMERIC
category) grouping sequence.
Also simplify thousands_sep handling.
2001-12-13 19:45:41 +00:00
Ruslan Ermilov
2554caf28c
mdoc(7) police: Minor formatting nits and optimizations to rev. 1.34.
2001-12-12 14:36:28 +00:00
Alexey Zelkin
7ae5c6791e
* localeconv() usage is not FLOATING_POINT specific anymore (due to "'" flag
...
addition) so move locale.h inclusion out of FLOATING_POINT ifdef's.
* add more comments
2001-12-07 12:38:47 +00:00
Bill Fenner
828829cda5
Remove blank line.
2001-12-07 03:25:26 +00:00
Bill Fenner
7735bb0f64
Implement several of the c99 updates to printf(3):
...
- New length modifiers: hh, j, t, z.
- New flag: '. Note that %'f is not yet implemented.
- Use "inf"/"nan" for efg formats, "INF"/"NAN" for EFG formats.
- Implemented %q in terms of %ll; if "quad_t" is not "long long"
%q will break.
Still to do:
- %C, %S, %lc, %ls (wide character support)
- %'f (thousands in integer portion of %f)
- %a/%A (exact hex representation of floating-point numbers)
Garrett Wollman wrote the first version of the vfprintf.c update;
Mike Barcroft wrote the first version of the printf.3 changes.
2001-11-30 06:12:15 +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
997aec5b67
Allow national (non-ASCII) digits
2001-11-28 04:57:48 +00:00
Ruslan Ermilov
2f52231c66
mdoc(7) police: sort xrefs.
2001-11-20 13:58:21 +00:00
Murray Stokely
ac8b27d2ab
Cross-reference the fdopen and fileno manpages.
...
PR: docs/31866
Submitted by: W. Campbell <wcampbel@botbay.net>
2001-11-14 16:24:51 +00:00
Andrey A. Chernov
7686e760b5
In > LONG_MAX test use sseek return value and not _offset which can be not
...
active.
2001-10-25 22:56:04 +00:00
Andrey A. Chernov
e41febc84b
Help to recover from bad seek (i.e. negative or too big) happens beyond
...
our pre-check control. Do the same way as refill.c does when it set __SERR,
i.e. clear read and ungetc buffers. Clear EOF flag too.
2001-10-24 17:25:49 +00:00
Andrey A. Chernov
3f498bf72b
Back out read buffer invalidating via __SMOD.
...
It was correct, but not needed because internal buffer cleared on each seek
outside of it.
2001-10-23 23:52:11 +00:00
Andrey A. Chernov
0502fac881
Change comment explaining another usage of __SMOD
2001-10-23 23:05:15 +00:00
Andrey A. Chernov
751fc77994
Disallow fseek() optimization in internal read buffer, if pointer is moved by
...
seek. It means that beginning of read buffer becomes not the same as current
file position.
2001-10-23 22:48:00 +00:00
Bruce Evans
18ca70d12d
Fixed style bugs in previous commit.
2001-10-15 04:29:06 +00:00
Doug Rabson
a387081c63
Make this compile on ia64.
2001-10-14 13:45:33 +00:00
Ruslan Ermilov
32eef9aeb1
mdoc(7) police: Use the new .In macro for #include statements.
2001-10-01 16:09:29 +00:00
Andrey A. Chernov
1b89a29689
1) If __SAPP stream is not seekable, remove __SAPP flag on first call instead
...
of repeating unsuccessful lseek call on each write (original stdio bug).
2) Save errno accross _sseek call in _swrite to not touch it in case write
success (original stdio bug).
3) Add _sseek error checking back, but only for __SOPT mode now.
2001-09-07 17:16:02 +00:00
Andrey A. Chernov
ac206f37a1
For now just back out seek error checking in __SAPP case, it cause problems
...
with non-seekable streams. Now here is what here was originally, but it is
ugly, producing unneded seek syscall on each non-seekable stream write. I'll
think about proper solution later.
2001-09-07 02:13:11 +00:00
Andrey A. Chernov
347a15b2ab
When __SOPT is cleared, clear __SOFF too.
...
NOTE: original stdio bug.
2001-09-03 02:35:10 +00:00
Andrey A. Chernov
5e00917d95
Re-arrange my funopen(3) fix to minimize differences with original stdio code,
...
no functional changes.
Add fp->_offset optimization in _SAPP+_SOPT case
2001-09-03 02:24:37 +00:00
Andrey A. Chernov
aeb7f4bac4
Internal seeks are overoptimized. They should remember fp->_offset only for
...
plain regular files, i.e. files with __SOPT flag set. Fix it, so ftell(stdout)
always returns the same as lseek(1, 0, 1) now.
NOTE: this bug was in original stdio code
2001-09-02 21:22:00 +00:00
Andrey A. Chernov
778d840e50
Fix bug in off_t overflow checking: if fp->_offset overflows, just remove
...
__SOFF flag (i.e. we don't have offset) instead of returning EOVERFLOW.
It allows again continious reading from non-stop stream.
2001-09-02 19:52:09 +00:00