Browse Source
Some mkdir(2) implementations do not want to see trailing slash in its parameter. * js/compat-mkdir: compat: some mkdir() do not like a slash at the endmaint

2 changed files with 29 additions and 0 deletions
@ -0,0 +1,24 @@
@@ -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; |
||||
} |
Loading…
Reference in new issue