summaryrefslogtreecommitdiff
path: root/lib/libc/stdio
Commit message (Collapse)AuthorAgeFilesLines
* Remove bogus FBSDID.David E. O'Brien2004-05-021-3/+1
| | | | Notes: svn path=/head/; revision=128844
* Fix damaged FBSDID.David E. O'Brien2004-05-021-3/+1
| | | | Notes: svn path=/head/; revision=128843
* Merge vfscanf.c, v1.37:David Schultz2004-05-021-8/+7
| | | | | | | - s/#ifdef FLOATING_POINT/#ifndef NO_FLOATING_POINT/ Notes: svn path=/head/; revision=128822
* Merge vfprintf.c, v1.65:David Schultz2004-05-021-24/+17
| | | | | | | | - s/#ifdef FLOATING_POINT/#ifndef NO_FLOATING_POINT/ - Remove HEXFLOAT Notes: svn path=/head/; revision=128821
* - To make it easier to compile *printf() and *scanf() withoutDavid Schultz2004-05-022-31/+21
| | | | | | | | | | | | 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(). Notes: svn path=/head/; revision=128819
* Use the correct size to allocate, copy and clear argument type tablesTim J. Robbins2004-04-222-12/+18
| | | | | | | | | | | | | 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) Notes: svn path=/head/; revision=128550
* Prepare to handle trivial state-dependent encodings. Full support forTim J. Robbins2004-04-079-21/+61
| | | | | | | | state-dependent encodings with locking shifts will come later if there is demand for it. Notes: svn path=/head/; revision=128002
* Mention that funopen() uses fpos_t incorrectly in the BUGS section.Tim J. Robbins2004-03-201-1/+9
| | | | Notes: svn path=/head/; revision=127227
* Improve documentation for fgetpos() and fsetpos(), and discourageTim J. Robbins2004-03-201-13/+21
| | | | | | | users from assuming that fpos_t is an integral type. Notes: svn path=/head/; revision=127225
* Do not redundantly set the stream orientation in getc(), putc(), andTim J. Robbins2004-03-196-6/+12
| | | | | | | related functions - __sgetc() and __sputc() will set it when necessary. Notes: svn path=/head/; revision=127198
* Update list of macros defined in <stdio.h>.Tim J. Robbins2004-03-171-1/+17
| | | | Notes: svn path=/head/; revision=127121
* Re-add description of putc() macro (back out rev. 1.13.)Tim J. Robbins2004-03-171-2/+8
| | | | Notes: svn path=/head/; revision=127120
* Re-add text that says getc() is a macro (back out rev. 1.16.)Tim J. Robbins2004-03-171-1/+2
| | | | Notes: svn path=/head/; revision=127119
* Re-add macro versions of getc(), getchar(), putc(), putchar(), feof(),Tim J. Robbins2004-03-176-34/+12
| | | | | | | | | | 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. Notes: svn path=/head/; revision=127100
* Refer to "wide characters" instead of "wide-characters".Tim J. Robbins2004-03-163-15/+15
| | | | Notes: svn path=/head/; revision=127073
* Set stream orientation in ungetc() instead of __ungetc(). This avoidsTim J. Robbins2004-03-101-2/+1
| | | | | | | | setting it redundantly when called from ungetwc(), vfscanf() etc., which already set the orientation. Notes: svn path=/head/; revision=126809
* Remove duplicate check for EOF from ungetc(); __ungetc() already checks.Tim J. Robbins2004-03-101-2/+0
| | | | Notes: svn path=/head/; revision=126808
* Call __sputc() directly in fputc() instead of taking an expensiveTim J. Robbins2004-03-101-1/+1
| | | | | | | detour through putc(). Notes: svn path=/head/; revision=126806
* Call __sgetc() directly in getchar() instead of taking an expensiveTim J. Robbins2004-03-101-1/+1
| | | | | | | detour through getc(). Notes: svn path=/head/; revision=126804
* Set the stream orientation explicitly in fgetln() instead of relying onTim J. Robbins2004-03-101-0/+1
| | | | | | | __srefill() to do it. Notes: svn path=/head/; revision=126802
* Set stream orientation in puts().Tim J. Robbins2004-03-101-0/+2
| | | | Notes: svn path=/head/; revision=126800
* Backout the previous revision due to objections.John Birrell2004-03-092-10/+4
| | | | Notes: svn path=/head/; revision=126765
* On 4.X it was possible for an application to initialise a local FILEJohn Birrell2004-03-092-4/+10
| | | | | | | | | | | | 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). Notes: svn path=/head/; revision=126760
* If handed a file pointer we can't write to, set errno properly to EBADFJordan K. Hubbard2004-03-021-1/+4
| | | | | | | | | | in order to get SUSv2 conformant behavior in higher level calls like fputs() and puts(). Reviewed by: bde Notes: svn path=/head/; revision=126506
* Document dependence of mktemp(3) on the non-reentrant arc4random(3).Brian Feldman2004-02-201-0/+7
| | | | Notes: svn path=/head/; revision=126034
* Merge vfscanf.c,v 1.35.David Schultz2004-01-311-4/+10
| | | | Notes: svn path=/head/; revision=125283
* Fix the handling of negative hexadecimal numbers in integer formats.David Schultz2004-01-311-3/+9
| | | | | | | | | | 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 Notes: svn path=/head/; revision=125282
* Merge vfprintf.c, v1.61 and 1.62. For compatibility with __hdtoa()David Schultz2004-01-231-19/+25
| | | | | | | | | | 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 Notes: svn path=/head/; revision=124887
* Bring the *printf(3) documentation up to date with the code:David Schultz2004-01-191-37/+24
| | | | | | | | | | | | | | | | | | | | | | - 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. Notes: svn path=/head/; revision=124710
* Implement __hdtoa() and __hldtoa() and enable printf() support for %aDavid Schultz2004-01-181-5/+2
| | | | | | | and %A, which print floating-point numbers in hexadecimal. Notes: svn path=/head/; revision=124667
* Prototype __hdtoa() and __hldtoa().David Schultz2004-01-181-0/+2
| | | | Notes: svn path=/head/; revision=124658
* Fix some bugs affecting the %a and %A format specifiers. SinceDavid Schultz2004-01-181-6/+16
| | | | | | | | | | | | | | | | 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. Notes: svn path=/head/; revision=124657
* Make intentions explicit with additional parenthesis.Jacques Vidrine2004-01-062-8/+8
| | | | Notes: svn path=/head/; revision=124175
* Remove unused variables and function declarations. Add missing headers.Jacques Vidrine2004-01-061-2/+1
| | | | Notes: svn path=/head/; revision=124174
* Fix prototype for getchar_unlocked().Tim J. Robbins2003-12-071-1/+1
| | | | Notes: svn path=/head/; revision=123216
* Use __sfvwrite() instead of __sputc() via __fputwc() to write to fakeTim J. Robbins2003-11-121-1/+30
| | | | | | | | | | | 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 Notes: svn path=/head/; revision=122547
* Pass NULL instead of a pointer to a zeroed mbstate_t object.Tim J. Robbins2003-11-056-37/+17
| | | | Notes: svn path=/head/; revision=122105
* Pass mbrtowc() and wcrtomb() NULL instead of a pointer to a freshly zeroedTim J. Robbins2003-11-043-9/+3
| | | | | | | | | | 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. Notes: svn path=/head/; revision=122042
* Fix a typo that caused the optimized single-byte locale path not to be taken.Tim J. Robbins2003-11-011-1/+1
| | | | Notes: svn path=/head/; revision=121851
* mdoc(7): Use the new feature of the .In macro.Ruslan Ermilov2003-09-082-3/+3
| | | | Notes: svn path=/head/; revision=119893
* Add more useful cross-references to the SEE ALSO section.Tim J. Robbins2003-07-051-2/+7
| | | | Notes: svn path=/head/; revision=117253
* Catch up with recent FP-related changes to scanf.3 and vfwscanf.c.Tim J. Robbins2003-07-051-31/+16
| | | | Notes: svn path=/head/; revision=117252
* Fix two incorrect uses of sizeof: we need to divide the size of the bufferTim J. Robbins2003-07-051-11/+6
| | | | | | | | | by sizeof(wchar_t) to get the number of wide characters it contains. Remove the !hardway micro-optimisation from the CT_INT case to avoid having to fix it for wide characters. Notes: svn path=/head/; revision=117250
* Merge recent floating point conversion changes from vfscanf.c.Tim J. Robbins2003-07-051-93/+175
| | | | Notes: svn path=/head/; revision=117249
* When size is 1 should just null terminate the string. The dummy variableJordan K. Hubbard2003-07-021-3/+5
| | | | | | | | | | | | is made an array of two, to explicitly avoid stack corruption due to null-terminating (which is doesn't actually happen due to stack alignment padding). Submitted by: Ed Moy <emoy@apple.com> Obtained from: Apple Computer, Inc. Notes: svn path=/head/; revision=117147
* Update to reflect changes in vfscanf.c,v 1.32. Remove bogusDavid Schultz2003-06-281-35/+14
| | | | | | | | | | documentation for %a, and document it correctly instead. s/one of aefg/one of a, e, f, or g/ Reviewed by: standards@ Notes: svn path=/head/; revision=116968
* Revamp scanf's floating-point-parsing algorithm to supportDavid Schultz2003-06-281-94/+172
| | | | | | | | | | | [+|-]Inf, [+|-]NaN, nan(...), and hexidecimal FP constants. While here, add %a and %A, which are aliases for %e, and add support for long doubles. Reviewed by: standards@ Notes: svn path=/head/; revision=116967
* Add or correct section number in .Xr. Use .Vt or .FnPhilippe Charnier2003-06-081-1/+1
| | | | | | | instead of .Xr when needed Notes: svn path=/head/; revision=116021
* Assorted mdoc(7) fixes.Ruslan Ermilov2003-05-221-1/+1
| | | | | | | Approved by: re (blanket) Notes: svn path=/head/; revision=115225
* %E-like %g and %G conversions should remove trailing zeroes unlessDavid Schultz2003-04-192-0/+14
| | | | | | | | | | | the # flag is present. Implement this behavior and add a comment describing it. Noticed by: Enache Adrian <enache@rdslink.ro> Pointy hat to: das Notes: svn path=/head/; revision=113723