Navigation Menu

Skip to content

Commit

Permalink
curl_global_init: set the memory function pointers correct
Browse files Browse the repository at this point in the history
follow-up from 6f8ecea
  • Loading branch information
bagder committed Oct 9, 2015
1 parent 6f8ecea commit 7715a70
Showing 1 changed file with 22 additions and 10 deletions.
32 changes: 22 additions & 10 deletions lib/easy.c
Expand Up @@ -220,20 +220,22 @@ curl_calloc_callback Curl_ccalloc;
* curl_global_init() globally initializes cURL given a bitwise set of the
* different features of what to initialize.
*/
CURLcode curl_global_init(long flags)
static CURLcode global_init(long flags, bool memoryfuncs)
{
if(initialized++)
return CURLE_OK;

/* Setup the default memory functions here (again) */
Curl_cmalloc = (curl_malloc_callback)malloc;
Curl_cfree = (curl_free_callback)free;
Curl_crealloc = (curl_realloc_callback)realloc;
Curl_cstrdup = (curl_strdup_callback)system_strdup;
Curl_ccalloc = (curl_calloc_callback)calloc;
if(memoryfuncs) {
/* Setup the default memory functions here (again) */
Curl_cmalloc = (curl_malloc_callback)malloc;
Curl_cfree = (curl_free_callback)free;
Curl_crealloc = (curl_realloc_callback)realloc;
Curl_cstrdup = (curl_strdup_callback)system_strdup;
Curl_ccalloc = (curl_calloc_callback)calloc;
#if defined(WIN32) && defined(UNICODE)
Curl_cwcsdup = (curl_wcsdup_callback)_wcsdup;
Curl_cwcsdup = (curl_wcsdup_callback)_wcsdup;
#endif
}

if(flags & CURL_GLOBAL_SSL)
if(!Curl_ssl_init()) {
Expand Down Expand Up @@ -284,6 +286,16 @@ CURLcode curl_global_init(long flags)
return CURLE_OK;
}


/**
* curl_global_init() globally initializes cURL given a bitwise set of the
* different features of what to initialize.
*/
CURLcode curl_global_init(long flags)
{
return global_init(flags, TRUE);
}

/*
* curl_global_init_mem() globally initializes cURL and also registers the
* user provided callback routines.
Expand Down Expand Up @@ -312,8 +324,8 @@ CURLcode curl_global_init_mem(long flags, curl_malloc_callback m,
Curl_crealloc = r;
Curl_ccalloc = c;

/* Call the actual init function */
return curl_global_init(flags);
/* Call the actual init function, but without setting */
return global_init(flags, FALSE);
}

/**
Expand Down

0 comments on commit 7715a70

Please sign in to comment.