stefanf
9046c35b6c
Document that the length modifier l is ignored for floating point
...
conversion specifiers (a, A, e, E, f, F, g and G).
2004-10-16 16:00:01 +00:00
stefanf
f3f8ad79f6
Don't add integers to void pointers.
2004-10-03 15:48:32 +00:00
des
cc42042e49
Don't forget to va_end() the va_list we get from va_copy().
...
Submitted by: Sean McNeil <sean@mcneil.com>
MFC after: 3 days
2004-08-26 06:25:28 +00:00
alfred
ae585ca60f
note that it is the caller's responsibility to free any buffer passed
...
to setvbuf(3) and friends.
2004-08-24 21:48:21 +00:00
tjr
ea9862ff9f
Fix an off-by-one bug that caused the first character of the buffer to
...
be uninitialized.
2004-08-06 17:00:09 +00:00
tjr
d4379a2f41
Read directly from the stdio buffer using the new __mbsnrtowcs() interface
...
instead of making repeated calls to __fgetwc().
2004-07-21 12:12:48 +00:00
tjr
5b4f25c6e9
Implement the GNU extensions of mbsnrtowcs() and wcsnrtombs(). These are
...
convenient when the source string isn't null-terminated.
Implement the other conversion functions (mbstowcs(), mbsrtowcs(), wcstombs(),
wcsrtombs()) in terms of these new functions.
2004-07-21 10:54:57 +00:00
tjr
76b88b1843
Use __wcsrtombs() and __sfvwrite() to convert and write the wide character
...
string instead of multiple calls to __fputwc().
2004-07-21 08:35:18 +00:00
tjr
04d8be5a37
Call __mbrtowc() and __wcrtomb() directly instead of taking detours
...
through mbrtowc() and wcrtomb().
2004-07-20 08:27:27 +00:00
tjr
1322682b8d
Add a cross reference to fgetwln(3).
2004-07-16 06:07:12 +00:00
tjr
b6df13f91a
Add fgetwln(), a wide character version of fgetln().
2004-07-16 06:06:09 +00:00
tjr
b70b3092cc
Rename slbexpand() to __slbexpand() and make it available outside
...
of fgetln.c (non-static).
2004-07-16 05:52:51 +00:00
tjr
e224905046
Slightly reorganize and simplify.
2004-07-09 15:12:10 +00:00
cperciva
965edb055f
Add commentary explaining why we return EBADF upon attempts to fflush() a
...
read-only file.
Discussed on: -current
2004-07-04 20:17:00 +00:00
ru
57ce50860e
Eliminate double whitespace.
2004-07-03 22:30:10 +00:00
ru
01548ace15
Mechanically kill hard sentence breaks.
2004-07-02 23:52:20 +00:00
ru
95168a499a
Markup, grammar, and spelling fixes.
2004-06-30 20:09:10 +00:00
mpp
02c1e0b63f
Spelling fixes.
2004-06-21 19:38:25 +00:00
stefanf
76718df136
The third operand of the conditional operator should have type void too.
...
Approved by: das (mentor)
2004-06-08 12:03:48 +00:00
das
9372d79f04
Rename cantwrite() to prepwrite(). The latter is less confusing,
...
since the macro isn't really a predicate, and it has side-effects.
Also, don't set errno if prepwrite() fails, since this is done in
prepwrite() now.
2004-06-08 05:45:48 +00:00
das
a1e60d89fb
Rename cantwrite() to prepwrite(). The latter is less confusing,
...
since the macro isn't really a predicate, and it has side-effects.
2004-06-08 05:45:32 +00:00
das
55edbf12e7
Set errno to EBADF on attempts to write to a stream that is not
...
writable. Affected callers include fwrite(), put?(), and *printf().
The issue of whether this is the right errno for funopened streams is
unresolved, but that's an obscure case, and some errno is better than
no errno.
Discussed with: bde, jkh
2004-06-08 05:44:52 +00:00
tjr
32620504ab
Provide trivial macro implementations of getwc(), getwchar(), putwc() and
...
putwchar() to reduce function call overhead.
2004-05-25 10:42:52 +00:00
tjr
ac834a03f9
Perform conversions straight from the stream buffer instead of scanning
...
through byte by byte with mbrtowc(). In the usual case (buffer is big
enough to contain the multibyte character, character does not straddle
buffer boundary) this results in only one call to mbrtowc() for each
wide character read.
2004-05-22 15:41:03 +00:00
tjr
f5a461b270
Associate a multibyte conversion state object with each stream. Reset it
...
to the initial state when a stream is opened or seeked upon. Use the
stream's conversion state object instead of a freshly-zeroed one in
fgetwc(), fputwc() and ungetwc().
This is only a performance improvement for now, but it would also be
required in order to support state-dependent encodings.
2004-05-22 15:19:41 +00:00
obrien
08cf798f1d
Remove bogus FBSDID.
2004-05-02 20:13:29 +00:00
obrien
c9b83bd8c1
Fix damaged FBSDID.
2004-05-02 20:09:14 +00:00
das
0342c52a18
Merge vfscanf.c, v1.37:
...
- s/#ifdef FLOATING_POINT/#ifndef NO_FLOATING_POINT/
2004-05-02 10:56:26 +00:00
das
370a72c150
Merge vfprintf.c, v1.65:
...
- s/#ifdef FLOATING_POINT/#ifndef NO_FLOATING_POINT/
- Remove HEXFLOAT
2004-05-02 10:56:17 +00:00
das
94b1a9eeaf
- To make it easier to compile *printf() and *scanf() without
...
floating-point support, remove default definition of FLOATING_POINT
from the source, and change the compile-time option to
NO_FLOATING_POINT.
- Remove the HEXFLOAT option. It saves an insignificant amount of
space (<0.1% of the size of libc on i386) and complicates vfprintf()
and checkfmt().
2004-05-02 10:55:06 +00:00
tjr
2d6eafdb97
Use the correct size to allocate, copy and clear argument type tables
...
after their change from an array of char to an array of enum.
This fixes problems that occurred when using positional arguments in
format strings, particularly with more than STATIC_ARG_TBL_SIZE (8)
of them.
PR: 65841
Submitted by: Steven Smith (mostly)
2004-04-22 11:35:12 +00:00
tjr
1c584f59a5
Prepare to handle trivial state-dependent encodings. Full support for
...
state-dependent encodings with locking shifts will come later if there
is demand for it.
2004-04-07 09:55:05 +00:00
tjr
023efa65f4
Mention that funopen() uses fpos_t incorrectly in the BUGS section.
2004-03-20 08:41:12 +00:00
tjr
55f1dd7399
Improve documentation for fgetpos() and fsetpos(), and discourage
...
users from assuming that fpos_t is an integral type.
2004-03-20 08:38:27 +00:00
tjr
b893e6c496
Do not redundantly set the stream orientation in getc(), putc(), and
...
related functions - __sgetc() and __sputc() will set it when necessary.
2004-03-19 09:04:56 +00:00
tjr
41709fbe79
Update list of macros defined in <stdio.h>.
2004-03-17 12:54:06 +00:00
tjr
dab1ed1529
Re-add description of putc() macro (back out rev. 1.13.)
2004-03-17 12:46:17 +00:00
tjr
430cbeb954
Re-add text that says getc() is a macro (back out rev. 1.16.)
2004-03-17 12:37:28 +00:00
tjr
b4d98c6855
Re-add macro versions of getc(), getchar(), putc(), putchar(), feof(),
...
ferror(), fileno() and clearerr(), using the value of __isthreaded to
decide between the fast inline single-threaded code and the more
general function equivalent. This gives most of the performance
benefits of the old unsafe macros while preserving thread safety.
2004-03-17 01:43:08 +00:00
tjr
feae82b01a
Refer to "wide characters" instead of "wide-characters".
2004-03-16 13:30:11 +00:00
tjr
00bce96751
Set stream orientation in ungetc() instead of __ungetc(). This avoids
...
setting it redundantly when called from ungetwc(), vfscanf() etc.,
which already set the orientation.
2004-03-10 12:41:11 +00:00
tjr
76708e58aa
Remove duplicate check for EOF from ungetc(); __ungetc() already checks.
2004-03-10 11:13:23 +00:00
tjr
26739bcc23
Call __sputc() directly in fputc() instead of taking an expensive
...
detour through putc().
2004-03-10 10:49:45 +00:00
tjr
d856ced836
Call __sgetc() directly in getchar() instead of taking an expensive
...
detour through getc().
2004-03-10 10:24:15 +00:00
tjr
c1542ae485
Set the stream orientation explicitly in fgetln() instead of relying on
...
__srefill() to do it.
2004-03-10 09:28:38 +00:00
tjr
d27994efb7
Set stream orientation in puts().
2004-03-10 09:15:38 +00:00
jb
c50fc65e96
Backout the previous revision due to objections.
2004-03-09 04:51:58 +00:00
jb
e9062915d3
On 4.X it was possible for an application to initialise a local FILE
...
structure and call stdio functions. In 5.X this was broken when FILE
locking was introduced into libc.
This change makes most (relevant) stdio functions work again when the
_extra file in FILE isn't initialised (and can't be without a libc
function to do it since the __sFILEX structure is private to libc).
2004-03-09 02:44:59 +00:00
jkh
5a199c908b
If handed a file pointer we can't write to, set errno properly to EBADF
...
in order to get SUSv2 conformant behavior in higher level calls like
fputs() and puts().
Reviewed by: bde
2004-03-02 19:43:51 +00:00
green
bf4ea3aa0d
Document dependence of mktemp(3) on the non-reentrant arc4random(3).
2004-02-20 04:08:28 +00:00