From: Joachim Schmitz Date: Fri, 24 Aug 2012 10:31:03 GMT Subject: [PATCH 1/2] Ignore trailing slash in mkdir() on platforms that can't deal with this Message-ID: <003101cd81e3$90574490$b105cdb0$@schmitz-digital.de> Signed-off-by: Joachim Schmitz --- compat/mkdir.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 compat/mkdir.c diff --git a/compat/mkdir.c b/compat/mkdir.c new file mode 100644 index 0000000..9e253fb --- /dev/null +++ b/compat/mkdir.c @@ -0,0 +1,24 @@ +#include "../git-compat-util.h" +#undef mkdir + +/* for platforms that can't deal with a trailing '/' */ +int compat_mkdir_wo_trailing_slash(const char *dir, mode_t mode) +{ + int retval; + char *tmp_dir = NULL; + size_t len = strlen(dir); + + if (len && dir[len-1] == '/') { + if ((tmp_dir = strdup(dir)) == NULL) + return -1; + tmp_dir[len-1] = '\0'; + } + else + tmp_dir = (char *)dir; + + retval = mkdir(tmp_dir, mode); + if (tmp_dir != dir) + free(tmp_dir); + + return retval; +} -- 1.7.12