summaryrefslogtreecommitdiff
path: root/lib/libc/stdio
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Merge in vfprintf.c rev. 1.58.Tim J. Robbins2003-04-141-9/+11
| | | | Notes: svn path=/head/; revision=113470
* Fix a bug where printf was erroneously printing a decimal point forDavid Schultz2003-04-141-8/+10
| | | | | | | | | | | | %f and sufficiently short %g specifiers where the precision was explicitly zero, no '#' flag was specified, and the floating point argument was > 0 and <= 0.5. While at it, add some comments to better explain the relevant bits of code. Noticed by: Christoph Kukulies <kuku@physik.rwth-aachen.de> Notes: svn path=/head/; revision=113468
* Catch up with recent vfprintf.c changes.Tim J. Robbins2003-04-071-175/+215
| | | | Notes: svn path=/head/; revision=113199
* __wcsconv(): free(convbuf) before returning NULLAndrey A. Chernov2003-04-071-2/+4
| | | | Notes: svn path=/head/; revision=113196
* Today just isn't my day. Remove some old commented out code that snuckDavid Schultz2003-04-071-1/+1
| | | | | | | | | into the last commit. Noticed by: mike Notes: svn path=/head/; revision=113194
* - %e conversions with precision 0 should not cause a decimal point toDavid Schultz2003-04-071-18/+22
| | | | | | | | | | | be printed. - Fix %f conversions where the number of significant digits is < expt. This would be a one-line change were it not for thousands separators. Noticed by tjr. - Remove some unnecessary code in the parsing of precision specifiers. Notes: svn path=/head/; revision=113191
* Rework the floating point code in printf(). Significant changes:David Schultz2003-04-052-151/+191
| | | | | | | | | | | | | | | | | | | | | - We used to round long double arguments to double. Now we print them properly. - Bugs involving '%F', corner cases of '#' and 'g' format specifiers, and the '.*' precision specifier have been fixed. - Added support for the "'" specifier to print thousands' grouping characters in a locale-dependent manner. - Implement the __vfprintf() side of hexadecimal floating point support. All that is still needed is a routine to convert the mantissa to hex digits one nibble at a time in the style of ultoa(). Reviewed by: silence on standards@ Notes: svn path=/head/; revision=113146
* Add missing #include to unbreak previous commit.David Schultz2003-04-051-0/+1
| | | | Notes: svn path=/head/; revision=113143
* Correct some buffer sizes.David Schultz2003-04-053-23/+42
| | | | | | | | | | | | | - __vfprintf()'s 'buf' has never been used for floating point, so don't define it in terms of (incorrect) constants describing floating point numbers. The actual size needed depends on sizeof(uintmax_t) and locale details, so I slightly overestimated. - We don't need a 308-character buffer to store the string "308". With long doubles and %a we need more than three characters, though. Notes: svn path=/head/; revision=113142
* Merge vfprintf.c revision 1.52.Tim J. Robbins2003-03-141-2/+2
| | | | Notes: svn path=/head/; revision=112229
* Kludge around a bug that results from printf() assuming thatDavid Schultz2003-03-141-1/+1
| | | | | | | | | | | | dtoa() is buggy. The bug would cause incorrect output to be generated when format strings such as '%5.0f' were used with nonzero numbers whose magnitude is less than 1. Reported by: df(1) by way of periodic(8) Reviewed by: mike Notes: svn path=/head/; revision=112224
* Unexpand RCS tag.Tim J. Robbins2003-03-141-1/+1
| | | | Notes: svn path=/head/; revision=112223
* MFp4: Catch up to recent __dtoa() interface changes and removal of cvt()'sTim J. Robbins2003-03-131-11/+10
| | | | | | | last argument. Notes: svn path=/head/; revision=112174
* Replace our ancient dtoa/strtod implementation with the gdtoaDavid Schultz2003-03-121-9/+10
| | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=112163
* MFp4: Add the standard "the {fgetws,fputws} function will fail if" textTim J. Robbins2003-03-092-0/+6
| | | | | | | to the Errors section. Notes: svn path=/head/; revision=112019
* mdoc(7) police: markup laundry.Ruslan Ermilov2003-02-234-10/+12
| | | | Notes: svn path=/head/; revision=111285
* Fix the description for mkdtemp(), which creates directories, not files.Gregory Neil Shapiro2003-02-191-1/+1
| | | | | | | | Submitted by: Murray S. Kucherawy <msk@blackops.org> X-MFC after: re approval Notes: svn path=/head/; revision=111117
* Eliminate 61 warnings emitted at WARNS=2 (leaving 53 to go).Jacques Vidrine2003-02-161-2/+2
| | | | | | | | | | 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 Notes: svn path=/head/; revision=111010
* Fix use of an uninitialized pointer introduced in a previous revision.Mike Makonnen2003-02-061-0/+1
| | | | | | | Approved by: markm (mentor)(implicit) Notes: svn path=/head/; revision=110429
* Back out previous. Many people disagreed with removing the warning.Tim J. Robbins2003-01-301-0/+8
| | | | Notes: svn path=/head/; revision=110127
* Remove runtime warning about gets().Tim J. Robbins2003-01-301-8/+0
| | | | Notes: svn path=/head/; revision=110085
* Lock stdin on entry, unlock on return, use __sgetc() instead of getchar()Tim J. Robbins2003-01-301-5/+9
| | | | | | | | to avoid locking the stream for each character and to avoid input being scattered among multiple threads. Notes: svn path=/head/; revision=110082
* Remove part of my stateful locale patch that slipped into the previous rev.Tim J. Robbins2003-01-261-3/+0
| | | | Notes: svn path=/head/; revision=109880
* Initial implementation of the C99 feature whereby calling freopen() withTim J. Robbins2003-01-262-2/+94
| | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=109871
* Lock the stream before calling __sfileno() to retrieve the file descriptor.Tim J. Robbins2003-01-131-2/+10
| | | | | | | 1003.1-2001 requires that fileno() behave as if it locks the stream. Notes: svn path=/head/; revision=109155
* Add missing word to "Return Values" section.Tim J. Robbins2003-01-131-0/+1
| | | | Notes: svn path=/head/; revision=109154
* The macro versions of putc() and putchar() are gone.Tim J. Robbins2003-01-101-9/+3
| | | | Notes: svn path=/head/; revision=109057
* There is no macro version of getc() anymore.Tim J. Robbins2003-01-101-2/+1
| | | | Notes: svn path=/head/; revision=109056
* Bring the list of function-like macros up to date with reality.Tim J. Robbins2003-01-101-28/+20
| | | | Notes: svn path=/head/; revision=109055
* spell multiple correctly.Alfred Perlstein2003-01-101-1/+1
| | | | Notes: svn path=/head/; revision=109051
* Document clearerr_unlocked(), feof_unlocked(), ferror_unlocked()Tim J. Robbins2003-01-102-3/+38
| | | | | | | and fileno_unlocked(). Notes: svn path=/head/; revision=109050
* Add a manual page for flockfile(), ftrylockfile(), and funlockfile().Tim J. Robbins2003-01-102-1/+106
| | | | Notes: svn path=/head/; revision=109047
* Document getc_unlocked(), getchar_unlocked(), putc_unlocked(),Tim J. Robbins2003-01-103-6/+68
| | | | | | | and putchar_unlocked(). Notes: svn path=/head/; revision=109043
* Add function versions of getchar_unlocked(), getc_unlocked(),Tim J. Robbins2003-01-102-1/+96
| | | | | | | | | 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. Notes: svn path=/head/; revision=109042