*/
char *socket_path_from_x11();
+/**
+ * Safe-wrapper around malloc which exits if malloc returns NULL (meaning that
+ * there is no more memory available)
+ *
+ */
+void *smalloc(size_t size);
+
+/**
+ * Safe-wrapper around calloc which exits if malloc returns NULL (meaning that
+ * there is no more memory available)
+ *
+ */
+void *scalloc(size_t size);
+
+/**
+ * Safe-wrapper around realloc which exits if realloc returns NULL (meaning
+ * that there is no more memory available).
+ *
+ */
+void *srealloc(void *ptr, size_t size);
+
+/**
+ * Safe-wrapper around strdup which exits if malloc returns NULL (meaning that
+ * there is no more memory available)
+ *
+ */
+char *sstrdup(const char *str);
+
#endif
*/
bool update_if_necessary(uint32_t *destination, const uint32_t new_value);
-/**
- * Safe-wrapper around malloc which exits if malloc returns NULL (meaning that
- * there is no more memory available)
- *
- */
-void *smalloc(size_t size);
-
-/**
- * Safe-wrapper around calloc which exits if malloc returns NULL (meaning that
- * there is no more memory available)
- *
- */
-void *scalloc(size_t size);
-
-/**
- * Safe-wrapper around realloc which exits if realloc returns NULL (meaning
- * that there is no more memory available).
- *
- */
-void *srealloc(void *ptr, size_t size);
-
-/**
- * Safe-wrapper around strdup which exits if malloc returns NULL (meaning that
- * there is no more memory available)
- *
- */
-char *sstrdup(const char *str);
-
/**
* Starts the given application by passing it through a shell. We use double
* fork to avoid zombie processes. As the started application’s parent exits
--- /dev/null
+/*
+ * vim:ts=4:sw=4:expandtab
+ *
+ * i3 - an improved dynamic tiling window manager
+ *
+ * © 2009-2011 Michael Stapelberg and contributors
+ *
+ * See file LICENSE for license information.
+ *
+ */
+#include <string.h>
+#include <stdlib.h>
+#include <err.h>
+
+
+/*
+ * The s* functions (safe) are wrappers around malloc, strdup, …, which exits if one of
+ * the called functions returns NULL, meaning that there is no more memory available
+ *
+ */
+void *smalloc(size_t size) {
+ void *result = malloc(size);
+ if (result == NULL)
+ err(EXIT_FAILURE, "malloc(%zd)", size);
+ return result;
+}
+
+void *scalloc(size_t size) {
+ void *result = calloc(size, 1);
+ if (result == NULL)
+ err(EXIT_FAILURE, "calloc(%zd)", size);
+ return result;
+}
+
+void *srealloc(void *ptr, size_t size) {
+ void *result = realloc(ptr, size);
+ if (result == NULL && size > 0)
+ err(EXIT_FAILURE, "realloc(%zd)", size);
+ return result;
+}
+
+char *sstrdup(const char *str) {
+ char *result = strdup(str);
+ if (result == NULL)
+ err(EXIT_FAILURE, "strdup()");
+ return result;
+}
#include "config.h"
#include "log.h"
#include "util.h"
+#include "libi3.h"
#include "cfgparse.tab.h"
#include "config.h"
#include "util.h"
+#include "libi3.h"
int cmdyycolumn = 1;
return ((*destination = new_value) != old_value);
}
-/*
- * The s* functions (safe) are wrappers around malloc, strdup, …, which exits if one of
- * the called functions returns NULL, meaning that there is no more memory available
- *
- */
-void *smalloc(size_t size) {
- void *result = malloc(size);
- exit_if_null(result, "Error: out of memory (malloc(%zd))\n", size);
- return result;
-}
-
-void *scalloc(size_t size) {
- void *result = calloc(size, 1);
- exit_if_null(result, "Error: out of memory (calloc(%zd))\n", size);
- return result;
-}
-
-void *srealloc(void *ptr, size_t size) {
- void *result = realloc(ptr, size);
- if (result == NULL && size > 0)
- die("Error: out memory (realloc(%zd))\n", size);
- return result;
-}
-
-char *sstrdup(const char *str) {
- char *result = strdup(str);
- exit_if_null(result, "Error: out of memory (strdup())\n");
- return result;
-}
-
/*
* Starts the given application by passing it through a shell. We use double fork
* to avoid zombie processes. As the started application’s parent exits (immediately),