do not check for NULL in FREE macro

free(3) is safe to invoke on a NULL pointer, in which case no action is
taken. This change adjusts the FREE macros to omit this unnecessary
check.
This commit is contained in:
Daniel Mueller 2017-11-23 15:41:33 -08:00
parent 362cbe6c5f
commit 865bd462b4
No known key found for this signature in database
GPG Key ID: 952DD6F8F34D8B8E
5 changed files with 20 additions and 30 deletions

View File

@ -58,12 +58,10 @@
#error "SYSCONFDIR not defined" #error "SYSCONFDIR not defined"
#endif #endif
#define FREE(pointer) \ #define FREE(pointer) \
do { \ do { \
if (pointer != NULL) { \ free(pointer); \
free(pointer); \ pointer = NULL; \
pointer = NULL; \
} \
} while (0) } while (0)
#include "xcb.h" #include "xcb.h"

View File

@ -5,12 +5,10 @@
#include <err.h> #include <err.h>
#define die(...) errx(EXIT_FAILURE, __VA_ARGS__); #define die(...) errx(EXIT_FAILURE, __VA_ARGS__);
#define FREE(pointer) \ #define FREE(pointer) \
do { \ do { \
if (pointer != NULL) { \ free(pointer); \
free(pointer); \ pointer = NULL; \
pointer = NULL; \
} \
} while (0) } while (0)
extern xcb_window_t root; extern xcb_window_t root;

View File

@ -5,12 +5,10 @@
#include <err.h> #include <err.h>
#define die(...) errx(EXIT_FAILURE, __VA_ARGS__); #define die(...) errx(EXIT_FAILURE, __VA_ARGS__);
#define FREE(pointer) \ #define FREE(pointer) \
do { \ do { \
if (pointer != NULL) { \ free(pointer); \
free(pointer); \ pointer = NULL; \
pointer = NULL; \
} \
} while (0) } while (0)
#define xmacro(atom) xcb_atom_t A_##atom; #define xmacro(atom) xcb_atom_t A_##atom;

View File

@ -20,12 +20,10 @@
#define STARTS_WITH(string, len, needle) (((len) >= strlen((needle))) && strncasecmp((string), (needle), strlen((needle))) == 0) #define STARTS_WITH(string, len, needle) (((len) >= strlen((needle))) && strncasecmp((string), (needle), strlen((needle))) == 0)
/* Securely free p */ /* Securely free p */
#define FREE(p) \ #define FREE(p) \
do { \ do { \
if (p != NULL) { \ free(p); \
free(p); \ p = NULL; \
p = NULL; \
} \
} while (0) } while (0)
/* Securely free single-linked list */ /* Securely free single-linked list */

View File

@ -47,12 +47,10 @@
break; \ break; \
} }
#define FREE(pointer) \ #define FREE(pointer) \
do { \ do { \
if (pointer != NULL) { \ free(pointer); \
free(pointer); \ pointer = NULL; \
pointer = NULL; \
} \
} while (0) } while (0)
#define CALL(obj, member, ...) obj->member(obj, ##__VA_ARGS__) #define CALL(obj, member, ...) obj->member(obj, ##__VA_ARGS__)