Oops, make the memory magic debug stuff done before global init too just to
authorbagder <bagder>
Wed, 11 Mar 2009 23:00:31 +0000 (23:00 +0000)
committerbagder <bagder>
Wed, 11 Mar 2009 23:00:31 +0000 (23:00 +0000)
catch them all. The memory debug stuff is not in the public API anyway.

src/main.c

index 26fa3c8..bb347b2 100644 (file)
@@ -3969,12 +3969,6 @@ operate(struct Configurable *config, int argc, argv_item_t argv[])
 
   memset(&heads, 0, sizeof(struct OutStruct));
 
-  /* initialize curl library - do not call any libcurl functions before */
-  if (main_init() != CURLE_OK) {
-    helpf(config->errors, "error initializing curl library\n");
-    return CURLE_FAILED_INIT;
-  }
-
 #ifdef CURLDEBUG
   /* this sends all memory debug messages to a logfile named memdump */
   env = curlx_getenv("CURL_MEMDEBUG");
@@ -3995,6 +3989,15 @@ operate(struct Configurable *config, int argc, argv_item_t argv[])
   }
 #endif
 
+  /* Initialize curl library - do not call any libcurl functions before.
+     Note that the CURLDEBUG magic above is an exception, but then that's not
+     part of the official public API.
+   */
+  if (main_init() != CURLE_OK) {
+    helpf(config->errors, "error initializing curl library\n");
+    return CURLE_FAILED_INIT;
+  }
+
   /*
    * Get a curl handle to use for all forthcoming curl transfers.  Cleanup
    * when all transfers are done.