]> git.sur5r.net Git - i3/i3/commitdiff
move strndup to libi3
authorMichael Stapelberg <michael@stapelberg.de>
Sun, 23 Oct 2011 17:02:01 +0000 (18:02 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Sun, 23 Oct 2011 17:02:01 +0000 (18:02 +0100)
i3-config-wizard/main.c
i3bar/src/xcb.c
include/libi3.h
include/util.h
libi3/strndup.c [new file with mode: 0644]
src/util.c

index df0db1fc734d4db0c76e12682b588c5be2d7315d..09320dfb0c2360679729bd1e20a49e202361e841 100644 (file)
@@ -74,30 +74,6 @@ Display *dpy;
 char *rewrite_binding(const char *bindingline);
 static void finish();
 
-#if defined(__APPLE__)
-
-/*
- * Taken from FreeBSD
- * Returns a pointer to a new string which is a duplicate of the
- * string, but only copies at most n characters.
- *
- */
-char *strndup(const char *str, size_t n) {
-    size_t len;
-    char *copy;
-
-    for (len = 0; len < n && str[len]; len++)
-        continue;
-
-    if ((copy = malloc(len + 1)) == NULL)
-        return (NULL);
-    memcpy(copy, str, len);
-    copy[len] = '\0';
-    return (copy);
-}
-
-#endif
-
 /*
  * This function resolves ~ in pathnames.
  * It may resolve wildcards in the first part of the path, but if no match
index 40d19a3e06ae85a3f357b067534ac461833224ac..01caeeea83fb1769097b5fbc16a84a4668b12cdc 100644 (file)
 #include "common.h"
 #include "libi3.h"
 
-#if defined(__APPLE__)
-
-/*
- * Taken from FreeBSD
- * Returns a pointer to a new string which is a duplicate of the
- * string, but only copies at most n characters.
- *
- */
-char *strndup(const char *str, size_t n) {
-    size_t len;
-    char *copy;
-
-    for (len = 0; len < n && str[len]; len++)
-        continue;
-
-    copy = smalloc(len + 1);
-    memcpy(copy, str, len);
-    copy[len] = '\0';
-    return (copy);
-}
-
-#endif
-
 /* We save the Atoms in an easy to access array, indexed by an enum */
 enum {
     #define ATOM_DO(name) name,
index 797ba424b0884d679277cee34fde862027790165..f4cd2160747fecf2cfc44d11ba3ed97971b76ab3 100644 (file)
@@ -109,4 +109,16 @@ void fake_configure_notify(xcb_connection_t *conn, xcb_rectangle_t r, xcb_window
  */
 uint32_t get_colorpixel(const char *hex) __attribute__((const));
 
+#if defined(__APPLE__)
+
+/*
+ * Taken from FreeBSD
+ * Returns a pointer to a new string which is a duplicate of the
+ * string, but only copies at most n characters.
+ *
+ */
+char *strndup(const char *str, size_t n);
+
+#endif
+
 #endif
index efef0bd089a6fa803a817afe815f3bfc2bdd992a..68009442e4b24afc1df2d685e09688cdb93ee0d4 100644 (file)
@@ -139,16 +139,4 @@ void *memmem(const void *l, size_t l_len, const void *s, size_t s_len);
 
 #endif
 
-#if defined(__APPLE__)
-
-/*
- * Taken from FreeBSD
- * Returns a pointer to a new string which is a duplicate of the
- * string, but only copies at most n characters.
- *
- */
-char *strndup(const char *str, size_t n);
-
-#endif
-
 #endif
diff --git a/libi3/strndup.c b/libi3/strndup.c
new file mode 100644 (file)
index 0000000..f02e0af
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * 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 <sys/types.h>
+#include <string.h>
+
+#include "libi3.h"
+
+#if defined(__APPLE__)
+
+/*
+ * Taken from FreeBSD
+ * Returns a pointer to a new string which is a duplicate of the
+ * string, but only copies at most n characters.
+ *
+ */
+char *strndup(const char *str, size_t n) {
+    size_t len;
+    char *copy;
+
+    for (len = 0; len < n && str[len]; len++)
+        continue;
+
+    copy = smalloc(len + 1);
+    memcpy(copy, str, len);
+    copy[len] = '\0';
+    return (copy);
+}
+
+#endif
index fa50d2e82b641b31a06339a6933eeef0cbf30cd8..f894eb3f57bdc9dc827ac6c5e44bcd1caa715d73 100644 (file)
@@ -415,27 +415,3 @@ void *memmem(const void *l, size_t l_len, const void *s, size_t s_len) {
 }
 
 #endif
-
-#if defined(__APPLE__)
-
-/*
- * Taken from FreeBSD
- * Returns a pointer to a new string which is a duplicate of the
- * string, but only copies at most n characters.
- *
- */
-char *strndup(const char *str, size_t n) {
-    size_t len;
-    char *copy;
-
-    for (len = 0; len < n && str[len]; len++)
-        continue;
-
-    if ((copy = malloc(len + 1)) == NULL)
-        return (NULL);
-    memcpy(copy, str, len);
-    copy[len] = '\0';
-    return (copy);
-}
-
-#endif