]> arthur.barton.de Git - netatalk.git/commitdiff
Add function basename_safe
authorFrank Lahm <franklahm@googlemail.com>
Fri, 9 Nov 2012 10:42:30 +0000 (11:42 +0100)
committerFrank Lahm <franklahm@googlemail.com>
Fri, 9 Nov 2012 10:42:30 +0000 (11:42 +0100)
include/atalk/util.h
libatalk/util/unix.c

index 39237e7c62c43806e76463c570b47c6033aa62da..ad2709a4613660c7553d899fe4e542f3f6e63e5a 100644 (file)
@@ -183,6 +183,7 @@ extern void randombytes(void *buf, int n);
 extern int daemonize(int nochdir, int noclose);
 extern int run_cmd(const char *cmd, char **cmd_argv);
 extern char *realpath_safe(const char *path);
+extern const char *basename_safe(const char *path);
 
 /******************************************************************
  * cnid.c
index 0e8fcab6aaf323867fad7a44052e7df9abbecca3..6dce0857744151ef4ba9189989712ae9ade92883 100644 (file)
@@ -33,6 +33,7 @@
 #include <sys/time.h>
 #include <time.h>
 #include <sys/wait.h>
+#include <libgen.h>
 
 #include <atalk/adouble.h>
 #include <atalk/ea.h>
@@ -375,3 +376,13 @@ char *realpath_safe(const char *path)
     return resolved_path;
 #endif
 }
+
+/**
+ * Returns pointer to static buffer with basename of path
+ **/
+const char *basename_safe(const char *path)
+{
+    static char buf[MAXPATHLEN+1];
+    strlcpy(buf, path, MAXPATHLEN);
+    return basename(buf);
+}