1 #include "../git-compat-util.h" 2 #undef mkdir 3 4 /* for platforms that can't deal with a trailing '/' */ compat_mkdir_wo_trailing_slash(const char * dir,mode_t mode)5int compat_mkdir_wo_trailing_slash(const char *dir, mode_t mode) 6 { 7 int retval; 8 char *tmp_dir = NULL; 9 size_t len = strlen(dir); 10 11 if (len && dir[len-1] == '/') { 12 if ((tmp_dir = strdup(dir)) == NULL) 13 return -1; 14 tmp_dir[len-1] = '\0'; 15 } 16 else 17 tmp_dir = (char *)dir; 18 19 retval = mkdir(tmp_dir, mode); 20 if (tmp_dir != dir) 21 free(tmp_dir); 22 23 return retval; 24 } 25