24 lines
468 B
24 lines
468 B
#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; |
|
}
|
|
|