summaryrefslogtreecommitdiff
path: root/lib/libc/stdio
Commit message (Collapse)AuthorAgeFilesLines
* Add an implementation of the gnu-ish asprintf() and vasprintf(). They arePeter Wemm1996-05-274-38/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | not based on gpl'ed code, just prototype and usage. I'm not 100% certain they behave the same while the system is in trouble (eg: malloc() failing) but in those circumstances all bets would be off anyway. These routines work like sprintf() and vsprintf(), except that instead of using a fixed buffer, they allocate memory and return it to the user and it's the user's responsibility to free() it. They have allocate as much memory as they need (and can get), so the size of strings it can deal with is limited only by the amount of memory it can malloc() on your behalf. There are a few gpl'ed programs starting to use this interface, and it's becoming more common with the scares about security risks with sprintf(). I dont like the look of the code that the various programs (including cvs, gdb, libg++, etc) provide if configure can't find it on the system. It should be possible to modify the stdio core code to provide this interface more efficiently, I was more worried about having something that worked and was secure. :-) (I noticed that there was once intended to be a smprintf() routine when our stdio was written for 4.4BSD, but it looks pretty stillborn, and it's intended interface is not clear). Since Linux and gnu libc have this interface, it seemed silly to bring yet another one onto the scene. Notes: svn path=/head/; revision=15931
* Fixed various problems: typos, grammer, missing include filesMike Pritchard1996-05-232-5/+5
| | | | | | | | wrong function type declarations, and wrong argument type declarations. Notes: svn path=/head/; revision=15874
* Fix a typo.Mike Pritchard1996-05-011-1/+1
| | | | Notes: svn path=/head/; revision=15521
* Correct a minor typo. Fixes part of PR#1000.Mike Pritchard1996-04-091-1/+1
| | | | | | | Submitted by: Dave Glowacki <dglo@ssec.wisc.edu> Notes: svn path=/head/; revision=15164
* Added missing section numbers to a bunch of .Xr macros, orMike Pritchard1996-03-274-15/+15
| | | | | | | | converted them into .Fn macros where appropriate. Also fixed up some minor formatting problems. Notes: svn path=/head/; revision=14855
* Removed now-bogus casts that were to hide the inconsistency between theBruce Evans1996-03-271-4/+4
| | | | | | | | | | nonstandard normal version and the standard threaded version. Removed a bogus L in a constant. fpos_t's aren't longs, and casting to fpos_t would be verbose. Notes: svn path=/head/; revision=14840
* Fixed bogus cross references.Bruce Evans1996-03-272-5/+5
| | | | | | | Reviewed by: mpp Notes: svn path=/head/; revision=14839
* Say what happens to the buffer when fgets() returns NULL.Bruce Evans1996-03-271-6/+11
| | | | | | | Fixed bogus cross references and a misordered line. Notes: svn path=/head/; revision=14838
* Since n is int now, sanity check must be n <= 0, not simple n == 0Andrey A. Chernov1996-03-251-1/+1
| | | | Notes: svn path=/head/; revision=14810
* Fix incorrect parameter types.Paul Richards1996-03-242-2/+2
| | | | Notes: svn path=/head/; revision=14790
* The 4.4-lite vfprintf counted the %# hex prefix and the sign inBill Fenner1996-03-201-8/+6
| | | | | | | | | | | the precision; ANSI X3J11 is not crystal clear but certainly says that the precision specifies the number of /digits/, and signs and "0x" aren't really digits. NetBSD already has a similar patch. Notes: svn path=/head/; revision=14727
* Added a little NOTES section explaining that passing in a string thatMike Pritchard1996-02-151-0/+22
| | | | | | | | | | | | | resides in read-only memory is going to cause the program to core dump, and this is commmon with older pre-ANSI C programs. (I've scratched my head over this one at 3 in the morning before while trying to port some ancient program) Suggested by: Gary Kline <kline@tera.com> Notes: svn path=/head/; revision=14099
* Fix even more spelling errors in some more man pages.Mike Pritchard1996-01-301-3/+3
| | | | Notes: svn path=/head/; revision=13750
* Reviewed by: julian and (hsu?)Julian Elischer1996-01-2232-34/+417
| | | | | | | | | Submitted by: John Birrel(L?) changes for threadsafe operations Notes: svn path=/head/; revision=13545
* Fix a variety of minor typos and cross references in a bunch ofMike Pritchard1996-01-201-1/+1
| | | | | | | | | | | man pages. Masanobu Saitoh <msaitoh@spa.is.uec.ac.jp> Giles Lean <giles@nemeton.com.au> <soda@sra.co.jp> Notes: svn path=/head/; revision=13511
* Minor cleanup, #include's and unused vars.Poul-Henning Kamp1995-10-223-1/+5
| | | | | | | Added compile-time warning to an old funky function. Notes: svn path=/head/; revision=11667
* Make a link-time warning for the use of gets().Peter Wemm1995-10-041-0/+3
| | | | | | | | | | IMHO, the run-time warning should come out, but I'm not game to start that fight yet... This uses a feature of the gnu linker. Inspired by: NetBSD Notes: svn path=/head/; revision=11185
* This gets() used \r\n, which is doggish.Bruce Evans1995-09-291-1/+1
| | | | Notes: svn path=/head/; revision=11064
* fgetline does not exist.. fgetln is in it's place. Correct the X-Ref.Peter Wemm1995-08-181-1/+1
| | | | | | | Noticed by: Brian Tao, Bruce Evans Notes: svn path=/head/; revision=10100
* Remove trailing whitespace.Rodney W. Grimes1995-05-304-8/+8
| | | | Notes: svn path=/head/; revision=8870
* Fixed typo.David Greenman1995-05-151-1/+1
| | | | Notes: svn path=/head/; revision=8534
* Obtained from: 1.1.5 (originally by jtc)Bruce Evans1995-04-061-1/+2
| | | | | | | | | | Fix printf("%g", 0.0) - print "0", not "0.". The previous fixes in this area had one non-cosmetic (non-)change that caused this bug. Bruce Notes: svn path=/head/; revision=7649
* Remove `|| flags & ALT == 0' which was an obscure no-op, not aBruce Evans1995-03-121-1/+1
| | | | | | | parenthesization/precedence bug. Notes: svn path=/head/; revision=7036
* Obtained from: 1.1.5. Originally by jtc. Cosmetically changed for thisBruce Evans1995-03-121-15/+23
| | | | | | | | | | | | | | | | | | | | | commit by bde. Fix bugs in floating point formatting. The 4.4lite version is similar to revision 1.3 in old-cvs and is missing all of jtc's fixes in revision 1.4 in old-cvs. Revision 1.2 in ncvs fixed one of the old bugs but introduced at least one new one (for %.0e). old-cvs log: revision 1.4 date: 1993/11/04 19:38:22; author: jtc; state: Exp; lines: +33 -20 My work from NetBSD to make printf() & friends ANSI C compliant. Fixes several bugs in floating point formatting: 1. Trailing zeros were being stripped with %e format. 2. %g/%G formats incorrect. 3. Lots of other nits. Notes: svn path=/head/; revision=7033
* Fix handling of 'e' format floating point so that it prints trailing zerosDoug Rabson1995-01-191-1/+0
| | | | | | | correctly. Notes: svn path=/head/; revision=5707
* Date: Wed, 26 Oct 1994 15:44:49 -0600Nate Williams1994-11-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | From: Chris Torek <torek@bsdi.com> Here is a semi-official patch (apply to /usr/src/lib/libc/stdio/fseek.c, rebuild libc, install). The current code fails when the seek: - is optimized, and - is to just past the end of the block currently in the buffer, and - is followed by another seek with no intervening read operation, and - the destination of subsequent seek is within the block left in the buffer (seeking to the beginning of a block does not force a read, so the buffer still contains the previous block) so it is indeed rather obscure. I may have a different `final' fix, as this one `loses' the buffer contents on a seek that goes just past the end of the current block. [Footnote: seeks are optimized only on read-only opens of regular files that are buffered by the file's optimal I/O size. This is what you get with fopen(path, "r") and no call to setvbuf().] Obtained from: [ BSDI mailing list ] Notes: svn path=/head/; revision=4169
* First crack at making libc work with the new make macros. It compiles onGarrett Wollman1994-08-051-3/+5
| | | | | | | | my machine, and a simple static (genassym) and shared (sysctl) executable both work. Still to be done: RPCand YP merge. Notes: svn path=/head/; revision=1849
* BSD 4.4 Lite Lib SourcesRodney W. Grimes1994-05-2790-0/+10714
Notes: svn path=/cvs2svn/branches/unlabeled-1.1.1/; revision=1573