mirror of
https://github.com/curl/curl.git
synced 2026-08-25 15:43:47 +03:00
MemoryTracking: fix logging of free() calls done where Curl_safefree is called
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.
This commit is contained in:
parent
749dbfbc87
commit
9194e17003
8 changed files with 48 additions and 19 deletions
|
|
@ -1,6 +1,6 @@
|
|||
#ifdef CURLDEBUG
|
||||
#ifndef HEADER_CURL_MEMDEBUG_H
|
||||
#define HEADER_CURL_MEMDEBUG_H
|
||||
#ifdef CURLDEBUG
|
||||
/***************************************************************************
|
||||
* _ _ ____ _
|
||||
* Project ___| | | | _ \| |
|
||||
|
|
@ -139,9 +139,21 @@ CURL_EXTERN int curl_fclose(FILE *file, int line, const char *source);
|
|||
|
||||
#endif /* MEMDEBUG_NODEFINES */
|
||||
|
||||
#endif /* HEADER_CURL_MEMDEBUG_H */
|
||||
#endif /* CURLDEBUG */
|
||||
|
||||
/*
|
||||
** Following section applies even when CURLDEBUG is not defined.
|
||||
*/
|
||||
|
||||
#ifndef fake_sclose
|
||||
#define fake_sclose(x)
|
||||
#define fake_sclose(x) do { } WHILE_FALSE
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Curl_safefree defined as a macro to allow MemoryTracking feature
|
||||
* to log free() calls at same location where Curl_safefree is used.
|
||||
*/
|
||||
|
||||
#define Curl_safefree(ptr) do {if((ptr)) free((ptr));} WHILE_FALSE
|
||||
|
||||
#endif /* HEADER_CURL_MEMDEBUG_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue