| #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; | |
| } |