Test and substance patch.

This is my first CVS commit :), what it does:

- Makes sure that parts of the cURL library don't get initialized twice
- Makes sure that we only free what we initialize
This commit is contained in:
Sterling Hughes 2001-05-31 11:30:34 +00:00
parent f8d94a3849
commit e051f904f2
1 changed files with 13 additions and 2 deletions

View File

@ -78,17 +78,27 @@
#define _MPRINTF_REPLACE /* use our functions only */
#include <curl/mprintf.h>
/* true globals */
static unsigned int initialized = 0;
static long init_flags = 0;
CURLcode curl_global_init(long flags)
{
if(flags & CURL_GLOBAL_SSL)
Curl_SSL_init();
initialized = 1;
init_flags = flags;
return CURLE_OK;
}
void curl_global_cleanup(void)
{
Curl_SSL_cleanup();
if (init_flags & CURL_GLOBAL_SSL)
Curl_SSL_cleanup();
initialized = 0;
}
CURL *curl_easy_init(void)
@ -97,7 +107,8 @@ CURL *curl_easy_init(void)
struct UrlData *data;
/* Make sure we inited the global SSL stuff */
Curl_SSL_init();
if (!initialized)
curl_global_init(CURL_GLOBAL_DEFAULT);
/* We use curl_open() with undefined URL so far */
res = Curl_open((CURL **)&data, NULL);