[PATCH] Fix safe_create_leading_directories() for Windows
See https://github.com/msysgit/git/pull/80.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
---
sha1_file.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/sha1_file.c b/sha1_file.c
index 760dd60..2114c58 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -110,12 +110,15 @@ int safe_create_leading_directories(char *path)
char *pos = path + offset_1st_component(path);
struct stat st;
- while (pos) {
- pos = strchr(pos, '/');
- if (!pos)
- break;
- while (*++pos == '/')
- ;
+ while (*pos) {
+ while (!is_dir_sep(*pos)) {
+ ++pos;
+ if (!*pos)
+ break;
+ }
+ /* skip consecutive directory separators */
+ while (is_dir_sep(*pos))
+ ++pos;
if (!*pos)
break;
*--pos = '\0';
--
1.8.4.msysgit.0.1.ge705bba.dirty