Commit 2e29957a79592959c7b297722618536f8d977e88

nulltoken 2010-12-20T10:56:32

Made gitfo_mkdir_recurs() skip creation of the root of the path if it looks like a Windows drive.

diff --git a/src/fileops.c b/src/fileops.c
index f2a08e8..c5cc73e 100644
--- a/src/fileops.c
+++ b/src/fileops.c
@@ -1,5 +1,6 @@
 #include "common.h"
 #include "fileops.h"
+#include <ctype.h>
 
 int gitfo_open(const char *path, int flags)
 {
@@ -323,6 +324,10 @@ int gitfo_mkdir_recurs(const char *path, int mode)
     error = GIT_SUCCESS;
     pp = path_copy;
 
+	/* Does the root of the path look like a windows drive ? */
+	if (isalpha(pp[0]) && (pp[1] == ':') && (pp[2] == '/'))
+		pp += 2;
+
     while (error == GIT_SUCCESS && (sp = strchr(pp, '/')) != 0) {
         if (sp != pp && gitfo_isdir(path_copy) < GIT_SUCCESS) {
             *sp = 0;