* vim:ts=4:sw=4:expandtab
*
* i3 - an improved dynamic tiling window manager
- * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
+ * © 2009 Michael Stapelberg and contributors (see also: LICENSE)
*
*/
#pragma once
+#include <config.h>
+
#include "queue.h"
/* Get the maximum/minimum of x and y */
#undef MIN
#define MIN(x, y) ((x) < (y) ? (x) : (y))
-#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 */
-#define FREE(p) \
- do { \
- if (p != NULL) { \
- free(p); \
- p = NULL; \
- } \
+#define FREE(p) \
+ do { \
+ free(p); \
+ p = NULL; \
} while (0)
-/* Securely fee single-linked list */
+/* Securely free single-linked list */
#define FREE_SLIST(l, type) \
do { \
type *walk = SLIST_FIRST(l); \
} \
} while (0)
-/* Securely fee tail-queues */
+/* Securely free tail queue */
#define FREE_TAILQ(l, type) \
do { \
type *walk = TAILQ_FIRST(l); \
#if defined(DLOG)
#undef DLOG
#endif
-/* Use cool logging-macros */
+/* Use cool logging macros */
#define DLOG(fmt, ...) \
do { \
if (config.verbose) { \