summaryrefslogtreecommitdiffstats
path: root/libc/stdio/_vfprintf.c
Commit message (Collapse)AuthorAgeFilesLines
* make parse_printf_format() depend on UCLIBC_HAS_GLIBC_CUSTOM_PRINTFPeter S. Mazinger2011-03-031-0/+4
| | | | | | we already remove the printf.h header if this option is disabled Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
* *printf: Violation of precision with null stringJones Desougi2011-02-091-0/+6
| | | | | | | | | | | | | | | | | | When a string format is processed and the argument is NULL, this yields "(null)" regardless of precision. This does not make sense, precision should not be exceeded. A simple test shows that glibc outputs nothing if precision is smaller than six and the attached patch implements this same behaviour. Consider the not uncommon case of strings implemented like this: struct string { int len; char *ptr; }; There is often no nultermination and they may be printed like this: printf("%.*s", string.len, string.ptr); If len is 0 then ptr may be anything, but NULL is a common value. Obviously the empty string would be expected, not "(null)". Signed-off-by: Jones Desougi <jones.desougi@27m.se> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* vfprintf.c: reduce a chunk of #ifdef forest and remove one goto inside itDenys Vlasenko2010-10-191-21/+20
| | | | | | No code changes according to objdump. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* _vfprintf.c: de-obfuscate badly twisted fragment. no code changes.Denys Vlasenko2010-10-191-5/+3
| | | | | | objdump confirms that I did not mess it up. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* vfprintf.c: remove endif comments which clog up the source. no code changesDenys Vlasenko2010-10-191-136/+135
| | | | | | | | | | Example: --ppfs->maxposarg; Verified with objdump that no code is changed Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* vfprintf.c: de-obfuscate if(with nested assignments). no logic changesDenys Vlasenko2010-10-191-25/+38
| | | | | | | God knows this file is hard to read as-is, some readability improvement is in order. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* lift printf field width limitMichael Deutschmann2010-03-171-4/+4
| | | | | | | | | | uClibc mishandles printf field width limits larger than 40959, as a result of misguided overflow-protection code. This causes spurious test failures with GNU coreutils, which depends on "%65536s" and "%20000000f" working according to spec. Signed-off-by: Michael Deutschmann <michael@talamasca.ocis.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* convert // comments to /**/; remove empty #if/#endif pairs. no code changesDenys Vlasenko2009-09-181-7/+0
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* trim Experimentally off and uncommented hiddenBernhard Reutner-Fischer2009-09-181-17/+0
| | | | | | | | sed -i -e '/Experimentally off - /d' $(grep -rl "Experimentally off - " *) sed -i -e '/^\/\*[[:space:]]*libc_hidden_proto(/d' $(grep -rl "libc_hidden_proto" *) should be a nop Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* *: remove __UCLIBC_CURLOCALE_DATA, __UCLIBC_CURLOCALE_DATA.xDenis Vlasenko2009-01-211-3/+3
| | | | | | | | | | | | | | | | | | | is always equivalent to __UCLIBC_CURLOCALE->x. remove typedef __uclibc_locale_t, it used only in a few places, it is lees confusing to use struct __uclibc_locale_struct everywhere. xlocale.h: hide __global_locale back under _LIBC, bug 53 is wrong in claiming it should be exported. Also hide under _LIBC: extern __locale_t __curlocale_var; extern __locale_t __curlocale(void); extern __locale_t __curlocale_set(__locale_t newloc); # define __UCLIBC_CURLOCALE # define __XL_NPP(N) # define __LOCALE_PARAM # define __LOCALE_ARG # define __LOCALE_PTR
* heed multiple warnings of the typeDenis Vlasenko2008-12-211-7/+8
| | | | | | libc/stdio/_vfprintf.c:1892: warning: passing argument 1 of '_[w]stdio_fwrite' from incompatible pointer type
* Last portion of libc_hidden_proto removal.Denis Vlasenko2008-11-201-9/+9
| | | | | Appears to build fine (several .configs tried)
* libc_hidden_proto removal, a few more functionsDenis Vlasenko2008-11-181-3/+3
|
* libc_hidden_proto removal, just a few functionsDenis Vlasenko2008-11-181-1/+1
|
* Fix problem in vfprintf when assertion are enabled.Carmelo Amoroso2008-09-091-2/+1
| | | | | | | | | | | Here follow the output of my analysis: __stdio_fwrite expects at least 1 bytes. fputs_unlocked(S,F) calls fwrite_unlocked and this calls __stdio_fwrite only if bytes to be written are > 0, otherwise simply returs 0 (that is correct). During the parsing of format spec it could happen that __stdio_fwrite is called passing an empty string and with assertion enabled it will abort. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* - trim any trailing whitespaceBernhard Reutner-Fischer2008-07-231-13/+13
|
* Remove __PRINTF_INFO_NO_BITFIELD hack, UCLIBC_INTERNAL can be used instead,Denis Vlasenko2008-06-031-2/+0
| | | | | | | | | and it's slightly shorter. Also removes stray macros from public <printf.h> header and uses spaces for comment indentation. No code changes (verified with objdump).
* - Avoid warning about undefined preprocessor token. No obj-code changes.Bernhard Reutner-Fischer2008-05-301-1/+1
|
* Moving libc_hidden_proto's into #ifdef UCLIBC_INTERNAL blockDenis Vlasenko2008-05-191-4/+4
| | | | | | | | | in string.h and strings.h. This caught unguarded string ops in libc/inet/ethers.c __ether_line_w() function. I will wait for fallout reports for a week or so, then continue converting more libc_hidden_proto's.
* even more fixes for vda-made breakage in vXXXfprintfDenis Vlasenko2008-04-101-2/+2
| | | | | (pointed out by Peter S.Mazinger)
* Factor out the core of vprintf() into separate functionDenis Vlasenko2008-04-091-43/+86
| | | | | | | | | | | | vprintf_internal, so that: * vprintf() does locking and __STDIO_STREAM_TRANS_TO_WRITE thing, then calls vprintf_internal * vsnprintf, vdprintf.c, vasprintf.c use vprintf_internal directly This makes sprintf faster (since it doesn't do any locking) and stops it from pulling in fseek in static compile.
* Fix stack overflow in _ppfs_parsespecCarmelo Amoroso2008-02-071-1/+1
|
* patch from Hans-Christian Egtvedt to silence some spurious signed warningsMike Frysinger2008-01-051-4/+4
|
* fix from Atsushi Nemoto for displaying of 64bit typesMike Frysinger2007-01-291-1/+1
|
* stdio update from mjn3Eric Andersen2006-12-061-1/+1
|
* Correct build if UCLIBC_HAS_CTYPE_TABLES is not definedPeter S. Mazinger2006-03-221-1/+1
|
* Remove all non-constant libc_hidden_data_def(), it is too unreliable, sorry, ↵Peter S. Mazinger2006-03-101-8/+0
| | | | most of global data relocations are back
* More renames for IMAPeter S. Mazinger2006-02-131-0/+1951