| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Approved by: das (mentor)
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
since the macro isn't really a predicate, and it has side-effects.
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
putwchar() to reduce function call overhead.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
- s/#ifdef FLOATING_POINT/#ifndef NO_FLOATING_POINT/
|
|
|
|
|
| |
- s/#ifdef FLOATING_POINT/#ifndef NO_FLOATING_POINT/
- Remove HEXFLOAT
|
|
|
|
|
|
|
|
|
| |
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().
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
| |
state-dependent encodings with locking shifts will come later if there
is demand for it.
|
| |
|
|
|
|
| |
users from assuming that fpos_t is an integral type.
|
|
|
|
| |
related functions - __sgetc() and __sputc() will set it when necessary.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
setting it redundantly when called from ungetwc(), vfscanf() etc.,
which already set the orientation.
|
| |
|
|
|
|
| |
detour through putc().
|
|
|
|
| |
detour through getc().
|
|
|
|
| |
__srefill() to do it.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
| |
in order to get SUSv2 conformant behavior in higher level calls like
fputs() and puts().
Reviewed by: bde
|
| |
|
| |
|
|
|
|
|
|
|
| |
Note that this bug is unrelated to recent work in this area; it seems
to have been present since revision 1.1.
Obtained from: NetBSD
|
|
|
|
|
|
|
| |
and to reduce diffs between vfprintf.c and vfwprintf.c, declare xdigs*
to be char arrays rather than wchar_t arrays.
In collaboration with: tjr
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Update and improve the documentation for %[aA]
o Like %[eE], %[aA] may round the result if a precision is specified.
o Grammar police: Fix a split infinitive.
o The FreeBSD implementation does better than the minimum required
by C99 (literal translation of the mantissa). The digit before
the hexadecimal-point is never 0 unless the number itself is 0.
o Clarify that the exponent field represents a decimal exponent of 2.
o Discuss the fact that multiple valid representations are possible.
o Remove the entry in the BUGS section claiming that %[aA] is not
implemented.
- Remove the entry in the BUGS section claiming that the ' flag for
printing thousands separators is unimplemented for floating-point.
- Remove the entry in the BUGS section claiming that the L modifier
reduces the precision to "double" before conversion.
|
|
|
|
| |
and %A, which print floating-point numbers in hexadecimal.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
these are not fully implemented and ifdef'd out, the bugs have
never manifested themselves. Specifically:
- Fix a memory leak in the case where %a follows another
floating-point format.
- Make the %a/%A code behave like %e/%E with respect to
precision.
- It is no longer valid to assume that '-' and '0x' are
mutually exclusive.
- Address other minor issues.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
string files (__SSTR flag set). This is necessary because __sputc()
does not respect the __SALC flag, and crashes trying to flush the buffer
instead of resizing it.
PR: 59167
|
| |
|
|
|
|
|
|
|
| |
mbstate_t object that they ignore. The zeroing is fairly expensive, and it
will never be necessary in these functions; when we support state-dependent
encodings, we will pass in a pointer to the file's mbstate_t object, and
only zero it at the time the file gets opened.
|
| |
|
| |
|
| |
|
| |
|