]> git.lizzy.rs Git - bspwm.git/blobdiff - src/helpers.c
Pass intermediate conseq. as arg. to ext. rules
[bspwm.git] / src / helpers.c
index b4e79a64a4ec4f72267de87858d1c1ea9d5ea1d6..85b175ef072d45593ac4be89c32ab91f33c5fd8b 100644 (file)
@@ -150,6 +150,39 @@ char *mktempfifo(const char *template)
        return fifo_path;
 }
 
+int asprintf(char **buf, const char *fmt, ...)
+{
+       int size = 0;
+       va_list args;
+       va_start(args, fmt);
+       size = vasprintf(buf, fmt, args);
+       va_end(args);
+       return size;
+}
+
+int vasprintf(char **buf, const char *fmt, va_list args)
+{
+       int size = 0;
+
+       va_list tmp;
+       va_copy(tmp, args);
+       size = vsnprintf(NULL, size, fmt, tmp);
+       va_end(tmp);
+
+       if (size < 0) {
+               return -1;
+       }
+
+       *buf = malloc(size + 1);
+
+       if (*buf == NULL) {
+               return -1;
+       }
+
+       size = vsprintf(*buf, fmt, args);
+       return size;
+}
+
 /* Adapted from i3wm */
 uint32_t get_color_pixel(const char *color)
 {