Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Mar 24, 2015
  1. @dfandrich

    curl_memory: make curl_memory.h the second-last header file loaded

    dfandrich authored
    This header file must be included after all header files except
    memdebug.h, as it does similar memory function redefinitions and can be
    similarly affected by conflicting definitions in system or dependent
    library headers.
Commits on Mar 16, 2015
  1. free: instead of Curl_safefree()

    Since we just started make use of free(NULL) in order to simplify code,
    this change takes it a step further and:
    - converts lots of Curl_safefree() calls to good old free()
    - makes Curl_safefree() not check the pointer before free()
    The (new) rule of thumb is: if you really want a function call that
    frees a pointer and then assigns it to NULL, then use Curl_safefree().
    But we will prefer just using free() from now on.
  2. @elfring

    Bug #149: Deletion of unnecessary checks before calls of the function…

    elfring authored committed
    … "free"
    The function "free" is documented in the way that no action shall occur for
    a passed null pointer. It is therefore not needed that a function caller
    repeats a corresponding check.
    This issue was fixed by using the software Coccinelle 1.0.0-rc24.
    Signed-off-by: Markus Elfring <>
Commits on Mar 3, 2015
  1. mprintf.h: remove #ifdef CURLDEBUG

    ... and as a consequence, introduce curl_printf.h with that re-define
    magic instead and make all libcurl code use that instead.
Commits on Oct 14, 2014
  1. cleanups: reduce variable scope

    cppcheck pointed these out.
Commits on Jul 25, 2014
  1. base64: added Curl_base64url_encode()

    This is now used by the http2 code. It has two different symbols at the
    end of the base64 table to make the output "url safe".
    Bug: tatsuhiro-t/nghttp2#62
Commits on Dec 1, 2013
  1. @captain-caveman2k
  2. @captain-caveman2k

    base64: Post extended extended validation tidy up

    captain-caveman2k authored
    Reduced the separate processing of the last quantum to be performed in
    the main decoding loop and renamed some variables for consistency.
  3. @captain-caveman2k

    base64: Extended validation to look for invalid characters

    captain-caveman2k authored
    Extended the basic validation in commit e17c1b2 to return a
    failure when invalid base64 characters are included.
Commits on Nov 30, 2013
  1. @captain-caveman2k

    base64: Post basic validation tidy up

    captain-caveman2k authored
    Due to the length checks introduced in commit e17c1b2 there is no
    need to allow for extra space in the output buffer for a non-padded last
Commits on Oct 30, 2013
  1. base64: removed trailing white space

    and updated copyright year
  2. @captain-caveman2k

    base64: Added basic validation to base64 input string when decoding

    captain-caveman2k authored
    A base64 string should be a multiple of 4 characters in length, not
    contain any more than 2 padding characters and only contain padding
    characters at the end of string. For example: Y3VybA==
    Strings such as the following are considered invalid:
    Y=   - Invalid length
    Y==  - Invalid length
    Y=== - More than two padding characters
    Y=x= - Padding character contained within string
Commits on Jan 8, 2013
  1. @yangtse

    build: fix circular header inclusion with other packages

    yangtse authored
    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 ec691ca 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 ec691ca, 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 ec691ca 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.
Commits on Jan 6, 2013
  1. @yangtse

    Revert changes relative to lib/*.[ch] recent renaming

    yangtse authored
    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 13606bb follow-up 1
    Start of related discussion thread:
    Asking for confirmation on pushing this revertion commit:
    Confirmation summary:
    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.
Commits on Jan 3, 2013
  1. @yangtse

    build: rename 93 lib/*.c files

    yangtse authored
    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
  2. @yangtse

    build: make use of 93 lib/*.c renamed files

    yangtse authored
    93 *.c source files renamed to use our standard naming scheme.
    This change affects 77 files in libcurl's source tree.
Commits on Dec 28, 2012
  1. @yangtse

    build: make use of 76 lib/*.h renamed files

    yangtse authored
    76 private header files renamed to use our standard naming scheme.
    This change affects 322 files in libcurl's source tree.
Commits on Mar 22, 2012
  1. @yangtse

    fix several compiler warnings

    yangtse authored
Commits on Aug 24, 2011
  1. @yangtse

    base64: fix Curl_base64_encode and Curl_base64_decode interfaces

    yangtse authored
    Previous interfaces for these libcurl internal functions did not allow to tell
    apart a legitimate zero size result from an error condition. These functions
    now return a CURLcode indicating function success or otherwise specific error.
    Output size is returned using a pointer argument.
    All usage of these two functions, and others closely related, has been adapted
    to the new interfaces. Relative error and OOM handling adapted or added where
    missing. Unit test 1302 also adapted.
Commits on Jul 26, 2011
  1. @yangtse
Commits on Jun 10, 2011
  1. unittest: mark all unit tested functions

    With "@unittest: [num]" in the header comment for each tested function.
    Shows we have a log way to go still...
Commits on May 23, 2011
  1. @yangtse

    compiler warning: fix

    yangtse authored
    Fix compiler warning: expression has no effect
    Fix OOM handling
Commits on Apr 27, 2011
  1. source cleanup: unify look, style and indent levels

    By the use of a the new lib/ script that checks that our
    basic source style rules are followed.
Commits on Apr 19, 2011

    Massively reduce #ifdefs all over (23 #ifdef lines less so far)
    Moved conversion-specific code to non-ascii.c
Commits on Apr 17, 2011
  1. base64.c: removed wrong comment

Commits on Mar 24, 2010
  1. remove the CVSish $Id$ lines

Commits on Feb 22, 2010
  1. @yangtse

    convert Curl_ultous() and Curl_ultouc() functions to curlx_ultous() and

    yangtse authored
    curlx_ultouc(), exposing them through curlx.h to allow proper code reuse
    later in our test harness.
  2. @yangtse

    add header inclusion

    yangtse authored
  3. @yangtse

    fix compiler warning

    yangtse authored
Commits on Feb 21, 2010
  1. @yangtse

    fix compiler warning

    yangtse authored
Commits on Feb 20, 2010
  1. @yangtse

    fix compiler warning

    yangtse authored
  2. @yangtse

    fix compiler warning

    yangtse authored
  3. @yangtse

    fix compiler warning

    yangtse authored
Commits on Jun 4, 2009
  1. @yangtse
Something went wrong with that request. Please try again.