summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdio
Commit message (Collapse)AuthorAgeFilesLines
* Correctly handle the case where __vfwprintf() fails because it runs outtjr2002-09-261-1/+7
| | | | of memory.
* Sync with OpenBSD: avoid memory leak when __vfprintf() fails because ittjr2002-09-262-24/+39
| | | | runs out of memory, always call va_end.
* Add cross-references between wide character and single-byte charactertjr2002-09-243-2/+6
| | | | versions of printf() and scanf().
* Remove an unneeded call to _sfrefill() that was missed in the conversiontjr2002-09-241-6/+0
| | | | | from vfscanf() to vfwscanf(). It doesn't hurt to have it there, but it's redundant since __fgetwc() will refill the buffer if it needs to.
* Use the new va_copy macro to copy variable argument lists instead oftjr2002-09-242-2/+2
| | | | | | | | assignment. This is needed on powerpc but is also more correct for the other ports. Submitted by: grehan Tested on: alpha, i386, sparc64
* Add implementations of wscanf() and related functions: fwscanf(), swscanf(),tjr2002-09-239-6/+1530
| | | | | vfwscanf(), vswscanf(), vwscanf(). As the name suggests, these are wide- character versions of the scanf() family of functions.
* Implement the %lc, %ls and %[ conversions, which read sequences of widetjr2002-09-232-16/+137
| | | | | characters, non-whitespace wide character strings and wide character strings in a scanset.
* The character argument for __ungetwc() should be wint_t instead of wchar_t.tjr2002-09-231-1/+1
|
* Add an unlocked version of ungetwc(), __ungetwc(), that __vfwscanf()tjr2002-09-222-9/+22
| | | | will need to use.
* Delete stray reference to vsnprintf().tjr2002-09-211-3/+2
|
* Add implementations of the wprintf() family of functions, which performtjr2002-09-2110-4/+2434
| | | | formatted wide-character output.
* Lock the file once per call and use the unlocked fgetwc()/fputwc() variants.tjr2002-09-202-9/+20
|
* Lock and unlock the file once per call and use the unlocked version oftjr2002-09-201-7/+11
| | | | ungetc() instead of having ungetc() recurse on the lock.
* Introduce unlocked versions of fputwc() and fgetwc() called __fputwc()tjr2002-09-203-18/+44
| | | | and __fgetwc() which can be used when we know the file is locked.
* Implement the %ls and %lc conversions for printing wide character stringstjr2002-09-192-14/+110
| | | | | | and wide characters. These were already documented in the manual page, with an entry mentioning that they were not implemented yet. The XSI %S and %C synoyms have not been added.
* Optimise the common case where no special encoding is in use (LC_CTYPE is "C"tjr2002-09-182-8/+48
| | | | | | or "POSIX", other European locales). Use __sgetc() and __sputc() where possible to avoid a wasteful lock and unlock for each byte and to avoid function call overhead.
* Logic error in previous: don't exit the loop when an incomplete multibytetjr2002-09-181-1/+1
| | | | sequence is detected.
* Reimplement the functionality of fgetrune(), fputrune(), and fungetrune()tjr2002-09-185-25/+61
| | | | | | here in terms of mbrtowc(), wcrtomb(), and the single-byte I/O functions. The rune I/O functions are about to become deprecated in favour of the ones provided by ISO C90 Amd. 1 and C99.
* Fix vsnprintf(3) memory leak for size == 0.maxim2002-09-171-0/+6
| | | | | | | PR: bin/36175 Obtained from: OpenBSD Reviewed by: silence on -audit MFC after: 5 days
* Convert eight space indents to tabs in the "*" format handling code.tjr2002-09-161-43/+43
|
* Style: One space between "restrict" qualifier and "*".tjr2002-09-0616-24/+24
|
* Print a '-' sign for negative zero. Tested withschweikh2002-08-271-7/+2
| | | | | | | | | | | | | | | | | | | | | #include <stdio.h> int main(void) { printf("%+f\n", -0.0); printf("%+f\n", +0.0); printf("%+f\n", 0.0); return 0; } to output -0.000000 +0.000000 +0.000000 PR: bin/41823 Submitted by: GOTO Kentaro <gotoken@notwork.org> Liked by: bde MFC after: 3 weeks
* o Merge <machine/ansi.h> and <machine/types.h> into a new headermike2002-08-217-7/+7
| | | | | | | | | | | | | | | | | | | | | called <machine/_types.h>. o <machine/ansi.h> will continue to live so it can define MD clock macros, which are only MD because of gratuitous differences between architectures. o Change all headers to make use of this. This mainly involves changing: #ifdef _BSD_FOO_T_ typedef _BSD_FOO_T_ foo_t; #undef _BSD_FOO_T_ #endif to: #ifndef _FOO_T_DECLARED typedef __foo_t foo_t; #define _FOO_T_DECLARED #endif Concept by: bde Reviewed by: jake, obrien
* Leave room for a trailing NUL not a NULL, that's not an ASCII character.jmallett2002-08-192-2/+2
|
* - For compliance with IEEE Std 1003.1-2001, add the 'restrict'robert2002-08-155-17/+11
| | | | | | qualifier to function prototypes and definitions where appropriate using the '__restrict' macro. - Update the manual page.
* - Introduce the 'restrict' qualifier to function prototypes androbert2002-08-155-8/+8
| | | | | definitions to comply with IEEE Std 1003.1-2001. - Update the manual pages.
* - Add the 'restrict' qualifier to the function definitions androbert2002-08-143-10/+4
| | | | | | | | public prototypes of setbuf(3) and setvbuf(3) using the '__restrict' macro from <sys/cdefs.h> to be compliant with IEEE Std 1003.1-2001. - Replace the K&R with ANSI-C function definitions. - Bring the manual page up-to-date.
* Unbreak one of the most confusing breaks of the tree I've seen.phk2002-08-131-1/+2
| | | | The last commit cannot possibly have been tested.
* Tidy up SRCS and MAN assignments.tjr2002-08-131-20/+13
|
* Remove the Bugs section, which is not relevant to FreeBSD: there is notjr2002-08-131-2/+0
| | | | one-character ungetwc(3) buffer limit.
* FreeBSD-ify: use In macro for header files in Synopsis, St C-99 instead oftjr2002-08-134-12/+12
| | | | St C99 in Standards section.
* Basic support for wide character I/O: getwc(), fgetwc(), getwchar(),tjr2002-08-1339-12/+846
| | | | putwc(), fputwc(), putwchar(), ungetwc(), fwide().
* Manual pages for fwide(), getwc(), fgetwc(), getwchar(), putwc(), fputwc(),tjr2002-08-124-0/+417
| | | | | | | putwchar(), ungetwc() from NetBSD and Citrus Project, unmodified except for the addition of $FreeBSD$. Obtained from: NetBSD, Citrus Project
* Fix typos; each file has at least one s/seperat/separat/schweikh2002-08-111-3/+3
| | | | | | | | | | (I skipped those in contrib/, gnu/ and crypto/) While I was at it, fixed a lot more found by ispell that I could identify with certainty to be errors. All of these were in comments or text, not in actual code. Suggested by: bde MFC after: 3 days
* mdoc(7) police: punctuation.ru2002-08-091-1/+1
|
* Don't claim to fully implement C99 in the STANDARDS section and then disclaimwollman2002-07-151-2/+4
| | | | compliance in the BUGS section immediately below.
* Note that fseeko() and ftello() are standard in 1003.1-2001.wollman2002-07-151-1/+1
| | | | (Prefer the more-encompassing POSIX standard to SUSv2.)
* Fix style and wording bugs introduced in my last commit.chris2002-06-181-11/+9
| | | | Sponsored by: DARPA, NAI Labs
* o Move more information from BUGS into SECURITY CONSIDERATIONS andchris2002-06-151-50/+56
| | | | | | | | condense the redundant bits. o Provide an example for using snprintf over sprintf. This may be supplemented with an asprintf() example soon. Sponsored by: DARPA, NAI Labs
* Include information on the dangers of passing a user-supplied string aschris2002-06-131-0/+21
| | | | | | | | a format string. This will later on be changed to a reference to the FreeBSD Security Architecture after it has been committed. PR: docs/39320 Sposnored by: DARPA, NAI Labs
* Grammar fix: "contents" is plural.archie2002-05-311-2/+2
| | | | MFC after: 1 day
* mdoc(7) police: markup nits.ru2002-05-301-43/+53
|
* mdoc(7) police: fix markup for types.ru2002-05-291-4/+4
|
* Assume __STDC__, remove non-__STDC__ code.alfred2002-05-2812-141/+2
| | | | Submitted by: keramida
* Correct a check for NUL.robert2002-05-271-1/+1
| | | | Spotted by: bde
* - Move the loop conditional into the "for" header.robert2002-05-271-19/+17
| | | | | | | | - Remove redundant "? :" construct. style(9): - Place a space after return statements. - Compare pointers to NULL. - Do not use ! to compare a character to nul.
* Avoid wandering over the beginning of the actual bufferrobert2002-05-231-1/+1
| | | | | | | if the passed template string contains only 'X' characters. Submitted by: Mark Andrews <marka@isc.org> (patch modified) PR: 38402
* Clarify that the value of getc() etc. is an unsigned char convertedfanf2002-05-151-0/+4
| | | | | | | | to an int (as per the C standard) i.e. it can be passed straight to isalpha() etc. Approved by: dwmalone (mentor) MFC after: 3 days
* Implement several of the c99 updates to scanf(3):fenner2002-04-202-140/+220
| | | | | | | | | | | | | - New length modifiers: hh, j, ll, t, z. Still to do: - %C, %S, %lc, %ls (wide character support) - %a/%A (exact hex representation of floating-point numbers) Removed old compatability equivalents: - %D for %ld, %O for %lo, %X for %lx, %E and %F for %le & %lf (these were buggy anyway, since they should have represented %Le & %Lf). - %[unknown uppercase char] for %ld, %[unknown lowercase char] for %d
* scanf.3 has an obsolete ``this release''.trhodes2002-04-101-7/+0
| | | | | PR: 35610 MFC after: 2 days
OpenPOWER on IntegriCloud