summaryrefslogtreecommitdiff
path: root/lib/mprintf.c
Commit message (Collapse)AuthorAgeFilesLines
* mprintf: allow %.s with data not being zero terminatedDaniel Stenberg2014-05-041-4/+4
| | | | | | | | | | | | If the precision is indeed shorter than the string, don't strlen() to find the end because that's not how the precision operator works. I also added a unit test for curl_msnprintf to make sure this works and that the fix doesn't a few other basic use cases. I found a POSIX compliance problem that I marked TODO in the unit test, and I figure we need to add more tests in the future. Reported-by: Török Edwin
* mprintf: Added support for I, I32 and I64 size specifiersSteve Holme2013-12-301-6/+50
| | | | | | | | | Added support to the built-in printf() replacement functions, for these non-ANSI extensions when compiling under Visual Studio, Borland, Watcom and MinGW. This fixes problems when generating libcurl source code that contains curl_off_t variables.
* printf: make sure %x are treated unsignedDaniel Stenberg2013-06-251-8/+8
| | | | | | | When using %x, the number must be treated as unsigned as otherwise it would get sign-extended on for example 64bit machines and do wrong output. This problem showed when doing printf("%08x", 0xffeeddcc) on a 64bit host.
* checksrc: ban unsafe functionsDaniel Stenberg2013-03-071-108/+9
| | | | | | | | The list of unsafe functions currently consists of sprintf, vsprintf, strcat, strncat and gets. Subsequently, some existing code needed updating to avoid warnings on this.
* build: fix circular header inclusion with other packagesYang Tse2013-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit renames lib/setup.h to lib/curl_setup.h and renames lib/setup_once.h to lib/curl_setup_once.h. Removes the need and usage of a header inclusion guard foreign to libcurl. [1] Removes the need and presence of an alarming notice we carried in old setup_once.h [2] ---------------------------------------- 1 - lib/setup_once.h used __SETUP_ONCE_H macro as header inclusion guard up to commit ec691ca3 which changed this to HEADER_CURL_SETUP_ONCE_H, this single inclusion guard is enough to ensure that inclusion of lib/setup_once.h done from lib/setup.h is only done once. Additionally lib/setup.h has always used __SETUP_ONCE_H macro to protect inclusion of setup_once.h even after commit ec691ca3, this was to avoid a circular header inclusion triggered when building a c-ares enabled version with c-ares sources available which also has a setup_once.h header. Commit ec691ca3 exposes the real nature of __SETUP_ONCE_H usage in lib/setup.h, it is a header inclusion guard foreign to libcurl belonging to c-ares's setup_once.h The renaming this commit does, fixes the circular header inclusion, and as such removes the need and usage of a header inclusion guard foreign to libcurl. Macro __SETUP_ONCE_H no longer used in libcurl. 2 - Due to the circular interdependency of old lib/setup_once.h and the c-ares setup_once.h header, old file lib/setup_once.h has carried back from 2006 up to now days an alarming and prominent notice about the need of keeping libcurl's and c-ares's setup_once.h in sync. Given that this commit fixes the circular interdependency, the need and presence of mentioned notice is removed. All mentioned interdependencies come back from now old days when the c-ares project lived inside a curl subdirectory. This commit removes last traces of such fact.
* Revert changes relative to lib/*.[ch] recent renamingYang Tse2013-01-061-0/+1197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts renaming and usage of lib/*.h header files done 28-12-2012, reverting 2 commits: f871de0... build: make use of 76 lib/*.h renamed files ffd8e12... build: rename 76 lib/*.h files This also reverts removal of redundant include guard (redundant thanks to changes in above commits) done 2-12-2013, reverting 1 commit: c087374... curl_setup.h: remove redundant include guard This also reverts renaming and usage of lib/*.c source files done 3-12-2013, reverting 3 commits: 13606bb... build: make use of 93 lib/*.c renamed files 5b6e792... build: rename 93 lib/*.c files 7d83dff... build: commit 13606bbfde follow-up 1 Start of related discussion thread: http://curl.haxx.se/mail/lib-2013-01/0012.html Asking for confirmation on pushing this revertion commit: http://curl.haxx.se/mail/lib-2013-01/0048.html Confirmation summary: http://curl.haxx.se/mail/lib-2013-01/0079.html NOTICE: The list of 2 files that have been modified by other intermixed commits, while renamed, and also by at least one of the 6 commits this one reverts follows below. These 2 files will exhibit a hole in history unless git's '--follow' option is used when viewing logs. lib/curl_imap.h lib/curl_smtp.h
* build: rename 93 lib/*.c filesYang Tse2013-01-031-1197/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 93 lib/*.c source files renamed to use our standard naming scheme. This commit only does the file renaming. ---------------------------------------- renamed: lib/amigaos.c -> lib/curl_amigaos.c renamed: lib/asyn-ares.c -> lib/curl_asyn_ares.c renamed: lib/asyn-thread.c -> lib/curl_asyn_thread.c renamed: lib/axtls.c -> lib/curl_axtls.c renamed: lib/base64.c -> lib/curl_base64.c renamed: lib/bundles.c -> lib/curl_bundles.c renamed: lib/conncache.c -> lib/curl_conncache.c renamed: lib/connect.c -> lib/curl_connect.c renamed: lib/content_encoding.c -> lib/curl_content_encoding.c renamed: lib/cookie.c -> lib/curl_cookie.c renamed: lib/cyassl.c -> lib/curl_cyassl.c renamed: lib/dict.c -> lib/curl_dict.c renamed: lib/easy.c -> lib/curl_easy.c renamed: lib/escape.c -> lib/curl_escape.c renamed: lib/file.c -> lib/curl_file.c renamed: lib/fileinfo.c -> lib/curl_fileinfo.c renamed: lib/formdata.c -> lib/curl_formdata.c renamed: lib/ftp.c -> lib/curl_ftp.c renamed: lib/ftplistparser.c -> lib/curl_ftplistparser.c renamed: lib/getenv.c -> lib/curl_getenv.c renamed: lib/getinfo.c -> lib/curl_getinfo.c renamed: lib/gopher.c -> lib/curl_gopher.c renamed: lib/gtls.c -> lib/curl_gtls.c renamed: lib/hash.c -> lib/curl_hash.c renamed: lib/hmac.c -> lib/curl_hmac.c renamed: lib/hostasyn.c -> lib/curl_hostasyn.c renamed: lib/hostcheck.c -> lib/curl_hostcheck.c renamed: lib/hostip.c -> lib/curl_hostip.c renamed: lib/hostip4.c -> lib/curl_hostip4.c renamed: lib/hostip6.c -> lib/curl_hostip6.c renamed: lib/hostsyn.c -> lib/curl_hostsyn.c renamed: lib/http.c -> lib/curl_http.c renamed: lib/http_chunks.c -> lib/curl_http_chunks.c renamed: lib/http_digest.c -> lib/curl_http_digest.c renamed: lib/http_negotiate.c -> lib/curl_http_negotiate.c renamed: lib/http_negotiate_sspi.c -> lib/curl_http_negotiate_sspi.c renamed: lib/http_proxy.c -> lib/curl_http_proxy.c renamed: lib/idn_win32.c -> lib/curl_idn_win32.c renamed: lib/if2ip.c -> lib/curl_if2ip.c renamed: lib/imap.c -> lib/curl_imap.c renamed: lib/inet_ntop.c -> lib/curl_inet_ntop.c renamed: lib/inet_pton.c -> lib/curl_inet_pton.c renamed: lib/krb4.c -> lib/curl_krb4.c renamed: lib/krb5.c -> lib/curl_krb5.c renamed: lib/ldap.c -> lib/curl_ldap.c renamed: lib/llist.c -> lib/curl_llist.c renamed: lib/md4.c -> lib/curl_md4.c renamed: lib/md5.c -> lib/curl_md5.c renamed: lib/memdebug.c -> lib/curl_memdebug.c renamed: lib/mprintf.c -> lib/curl_mprintf.c renamed: lib/multi.c -> lib/curl_multi.c renamed: lib/netrc.c -> lib/curl_netrc.c renamed: lib/non-ascii.c -> lib/curl_non_ascii.c renamed: lib/curl_non-ascii.h -> lib/curl_non_ascii.h renamed: lib/nonblock.c -> lib/curl_nonblock.c renamed: lib/nss.c -> lib/curl_nss.c renamed: lib/nwlib.c -> lib/curl_nwlib.c renamed: lib/nwos.c -> lib/curl_nwos.c renamed: lib/openldap.c -> lib/curl_openldap.c renamed: lib/parsedate.c -> lib/curl_parsedate.c renamed: lib/pingpong.c -> lib/curl_pingpong.c renamed: lib/polarssl.c -> lib/curl_polarssl.c renamed: lib/pop3.c -> lib/curl_pop3.c renamed: lib/progress.c -> lib/curl_progress.c renamed: lib/qssl.c -> lib/curl_qssl.c renamed: lib/rawstr.c -> lib/curl_rawstr.c renamed: lib/rtsp.c -> lib/curl_rtsp.c renamed: lib/security.c -> lib/curl_security.c renamed: lib/select.c -> lib/curl_select.c renamed: lib/sendf.c -> lib/curl_sendf.c renamed: lib/share.c -> lib/curl_share.c renamed: lib/slist.c -> lib/curl_slist.c renamed: lib/smtp.c -> lib/curl_smtp.c renamed: lib/socks.c -> lib/curl_socks.c renamed: lib/socks_gssapi.c -> lib/curl_socks_gssapi.c renamed: lib/socks_sspi.c -> lib/curl_socks_sspi.c renamed: lib/speedcheck.c -> lib/curl_speedcheck.c renamed: lib/splay.c -> lib/curl_splay.c renamed: lib/ssh.c -> lib/curl_ssh.c renamed: lib/sslgen.c -> lib/curl_sslgen.c renamed: lib/ssluse.c -> lib/curl_ssluse.c renamed: lib/strdup.c -> lib/curl_strdup.c renamed: lib/strequal.c -> lib/curl_strequal.c renamed: lib/strerror.c -> lib/curl_strerror.c renamed: lib/strtok.c -> lib/curl_strtok.c renamed: lib/strtoofft.c -> lib/curl_strtoofft.c renamed: lib/telnet.c -> lib/curl_telnet.c renamed: lib/tftp.c -> lib/curl_tftp.c renamed: lib/timeval.c -> lib/curl_timeval.c renamed: lib/transfer.c -> lib/curl_transfer.c renamed: lib/url.c -> lib/curl_url.c renamed: lib/version.c -> lib/curl_version.c renamed: lib/warnless.c -> lib/curl_warnless.c renamed: lib/wildcard.c -> lib/curl_wildcard.c ----------------------------------------
* build: make use of 93 lib/*.c renamed filesYang Tse2013-01-031-2/+2
| | | | | | 93 *.c source files renamed to use our standard naming scheme. This change affects 77 files in libcurl's source tree.
* build: make use of 76 lib/*.h renamed filesYang Tse2012-12-281-2/+2
| | | | | | 76 private header files renamed to use our standard naming scheme. This change affects 322 files in libcurl's source tree.
* MemoryTracking: fix logging of free() calls done where Curl_safefree is calledYang Tse2011-09-021-1/+1
| | | | | | | | | | | | | | Just internal stuff... Curl_safefree is now a macro defined in memdebug.h instead of a function prototyped in url.h and implemented in url.c, so inclusion of url.h is no longer required in order to simply use Curl_safefree. Provide definition of macro WHILE_FALSE in setup_once.h in order to allow other macros such as DEBUGF and DEBUGASSERT, and code using it, to compile without 'conditional expression is constant' warnings. The WHILE_FALSE stuff fixes 150+ MSVC compiler warnings.
* stdio.h, stdlib.h, string.h, stdarg.h and ctype.h inclusion done in setup_once.hYang Tse2011-07-261-5/+0
|
* whitespace cleanup: no space first in conditionalsDaniel Stenberg2011-04-271-1/+1
| | | | "if(a)" is our style, not "if( a )"
* source cleanup: unify look, style and indent levelsDaniel Stenberg2011-04-271-95/+51
| | | | | By the use of a the new lib/checksrc.pl script that checks that our basic source style rules are followed.
* Fix a couple of spelling errors in lib/Fabian Keil2011-04-211-2/+2
| | | | Found with codespell.
* dprintf_formatf: Value stored to 'left' is never readDaniel Stenberg2010-04-161-1/+0
|
* remove the CVSish $Id$ linesDaniel Stenberg2010-03-241-1/+0
|
* fix compiler warningYang Tse2010-02-201-1/+1
|
* fix compiler warningYang Tse2010-02-201-1/+1
|
* fix printf-style format stringsYang Tse2010-02-041-2/+2
|
* libcurl's memory.h renamed to curl_memory.hYang Tse2009-04-211-2/+2
|
* fix compiler warning: external declaration in primary source fileYang Tse2008-09-131-2/+0
|
* remove unnecessary typecasting of malloc()Yang Tse2008-09-061-1/+1
|
* remove unnecessary typecasting of realloc()Yang Tse2008-09-061-1/+1
|
* Remove debug tracing and nearly all changes introduced since revision 1.72Yang Tse2008-08-241-96/+21
| | | | | The effective result of this commit is revision 1.72 plus two changed lines. These can be viewed in http://cool.haxx.se/cvs.cgi/curl/lib/mprintf.c.diff?r1=1.72&r2=1.77
* Debug trace curl_mprintf() on x86_64 and ia64 systems.Yang Tse2008-08-241-0/+61
|
* x86_64 fixesYang Tse2008-08-241-2/+3
|
* x86_64 fixesYang Tse2008-08-241-27/+32
|
* Test if type casting a 'signed int' to a 'signed long long' fails to do sign ↵Yang Tse2008-08-241-1/+10
| | | | extension on x86_64.
* explicit value assignment for comparison resultYang Tse2008-08-231-2/+2
|
* typecast constant in comparisonYang Tse2008-08-231-1/+1
|
* Improved curl_m*printf() integral data type size and signedness handlingYang Tse2008-08-221-55/+53
|
* cleanup the BOOL usageYang Tse2008-08-221-29/+16
|
* MSVC's __int64 data type is only available when _INTEGRAL_MAX_BITS >= 64Yang Tse2008-08-211-1/+1
|
* Fix a LONG_MIN and LLONG_MIN related bug in internal m*printf()Yang Tse2008-08-211-9/+26
|
* Fix one bug detected thanks to test case 557.Yang Tse2008-08-211-2/+2
|
* Some data type size adjustments.Yang Tse2008-08-211-4/+7
|
* Get rid of ENABLE_64BIT symbol definition and usage.Yang Tse2008-08-211-18/+25
| | | | Improve HAVE_LONGLONG symbol description.
* s/SIZEOF_CURL_OFF_T/CURL_SIZEOF_CURL_OFF_T/gYang Tse2008-08-111-1/+1
|
* made %llu work for printing unsigned long longs, added the generic curl sourceDaniel Stenberg2008-06-301-14/+27
| | | | header
* fix the treatment of the parameter-based precision, as in "%.*s%s" asDaniel Stenberg2007-11-201-1/+4
| | | | | previously the second %s would wrongly get the numerical argument that is used for the variable precision for the first %s...
* removed space after if and while before the parenthesis for better source codeDaniel Stenberg2007-11-051-68/+68
| | | | consistency
* fixed a warning which MingW gcc 4.2.1.Gunter Knauf2007-08-091-3/+3
|
* proper symbol definition check for all AmigaOS flavoursYang Tse2007-02-281-1/+1
|
* Removed inclusion of <sys/types.h> and <sys/stat.h> in .c-filesGisle Vanem2007-02-261-1/+0
| | | | since they're already included through "setup.h".
* compiler warning fixYang Tse2007-02-011-5/+5
|
* Avoid typecasting a signed char to an int when using is*() functions, as thatDaniel Stenberg2006-10-171-1/+1
| | | | | | | | | could very well cause a negate number get passed in and thus cause reading outside of the array usually used for this purpose. We avoid this by using the uppercase macro versions introduced just now that does some extra crazy typecasts to avoid byte codes > 127 to cause negative int values.
* Undefine correct symbol.Gisle Vanem2006-07-061-1/+1
|
* Cludge fix for djgpp 2.03 or older; it doesn't have snprintf() etc.Gisle Vanem2006-07-051-0/+4
| | | | So avoid using x_was_used().
* Diego Casorran patches to make (lib)curl build fine on Amiga againDaniel Stenberg2005-07-131-0/+3
|
* Cory Nelson's work on nuking compiler warnings when building on x64 withDaniel Stenberg2005-04-261-4/+4
| | | | VS2005.