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:
parent
362cbe6c5f
commit
865bd462b4
|
@ -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"
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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__)
|
||||||
|
|
Loading…
Reference in New Issue