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

@ -60,10 +60,8 @@
#define FREE(pointer) \
do { \
if (pointer != NULL) { \
free(pointer); \
pointer = NULL; \
} \
} while (0)
#include "xcb.h"

View File

@ -7,10 +7,8 @@
#define die(...) errx(EXIT_FAILURE, __VA_ARGS__);
#define FREE(pointer) \
do { \
if (pointer != NULL) { \
free(pointer); \
pointer = NULL; \
} \
} while (0)
extern xcb_window_t root;

View File

@ -7,10 +7,8 @@
#define die(...) errx(EXIT_FAILURE, __VA_ARGS__);
#define FREE(pointer) \
do { \
if (pointer != NULL) { \
free(pointer); \
pointer = NULL; \
} \
} while (0)
#define xmacro(atom) xcb_atom_t A_##atom;

View File

@ -22,10 +22,8 @@
/* Securely free p */
#define FREE(p) \
do { \
if (p != NULL) { \
free(p); \
p = NULL; \
} \
} while (0)
/* Securely free single-linked list */

View File

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