summaryrefslogtreecommitdiff
path: root/lib/libc/stdio/vswprintf.c
Commit message (Collapse)AuthorAgeFilesLines
* libc: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-251-1/+3
| | | | | | | | | | | | | | | Mainly focus on files that use BSD 2-Clause license, however the tool I was using mis-identified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Notes: svn path=/head/; revision=326193
* If the size passed to {,v}s{w,n}printf is larger than INT_MAX+1David Schultz2012-04-211-0/+6
| | | | | | | | | | | | | | | | | | | | (i.e., the return value would overflow), set errno to EOVERFLOW and return an error. This improves the chances that buggy applications -- for instance, ones that pass in a negative integer as the size due to a bogus calculation -- will fail in safe ways. Returning an error in these situations is specified by POSIX, but POSIX appears to have an off-by-one error that isn't duplicated in this change. Previously, some of these functions would silently cap the size at INT_MAX+1, and others would exit with an error after writing more than INT_MAX characters. PR: 39256 MFC after: 2 weeks Notes: svn path=/head/; revision=234531
* Ensure that the {,v}swprintf functions always null-terminate theDavid Schultz2012-04-211-0/+3
| | | | | | | output string, even if an encoding error or malloc failure occurs. Notes: svn path=/head/; revision=234529
* Implement xlocale APIs from Darwin, mainly for use by libc++. This adds aDavid Chisnall2011-11-201-4/+17
| | | | | | | | | | | | | | | load of _l suffixed versions of various standard library functions that use the global locale, making them take an explicit locale parameter. Also adds support for per-thread locales. This work was funded by the FreeBSD Foundation. Please test any code you have that uses the C standard locale functions! Reviewed by: das (gdtoa changes) Approved by: dim (mentor) Notes: svn path=/head/; revision=227753
* - Use an initializer macro to initialize fields in 'fake' FILE objects usedJohn Baldwin2010-03-111-4/+1
| | | | | | | | | | | | | | | by *sprintf(), etc. - Explicitly initialize _fl_mutex to PTHREAD_MUTEX_INITIALIZER for all FILE objects. This is currently a nop on FreeBSD, but is import for other platforms (or in the future) where PTHREAD_MUTEX_INITIALIZER is not simply zero. PR: threads/141198 Reported by: Jeremy Huddleston @ Apple MFC after: 2 weeks Notes: svn path=/head/; revision=205021
* Next stage of stdio cleanup: Retire __sFILEX and merge the fields back intoJohn Baldwin2008-04-171-3/+2
| | | | | | | | | | | | | | | | | | | | | | __sFILE. This was supposed to be done in 6.0. Some notes: - Where possible I restored the various lines to their pre-__sFILEX state. - Retire INITEXTRA() and just initialize the wchar bits (orientation and mbstate) explicitly instead. The various places that used INITEXTRA didn't need the locking fields or _up initialized. (Some places needed _up to exist and not be off the end of a NULL or garbage pointer, but they didn't require it to be initialized to a specific value.) - For now, stdio.h "knows" that pthread_t is a 'struct pthread *' to avoid namespace pollution of including all the pthread types in stdio.h. Once we remove all the inlines and make __sFILE private it can go back to using pthread_t, etc. - This does not remove any of the inlines currently and does not change any of the public ABI of 'FILE'. MFC after: 1 month Reviewed by: peter Notes: svn path=/head/; revision=178287
* Fix EOVERFLOW detection in vswprintf(3)Max Khon2005-02-211-4/+5
| | | | | | | | Reviewed by: tjr MFC after: 2 weeks Notes: svn path=/head/; revision=142183
* Prepare to handle trivial state-dependent encodings. Full support forTim J. Robbins2004-04-071-1/+4
| | | | | | | | state-dependent encodings with locking shifts will come later if there is demand for it. Notes: svn path=/head/; revision=128002
* Pass NULL instead of a pointer to a zeroed mbstate_t object.Tim J. Robbins2003-11-051-3/+1
| | | | Notes: svn path=/head/; revision=122105
* Remove an unused variable: mbresult.Tim J. Robbins2003-01-071-1/+0
| | | | Notes: svn path=/head/; revision=108867
* Correctly handle the case where __vfwprintf() fails because it runs outTim J. Robbins2002-09-261-1/+7
| | | | | | | of memory. Notes: svn path=/head/; revision=103997
* Add implementations of the wprintf() family of functions, which performTim J. Robbins2002-09-211-0/+89
formatted wide-character output. Notes: svn path=/head/; revision=103739