summaryrefslogtreecommitdiff
path: root/compat/msvc.c
diff options
context:
space:
mode:
authorFrank Li <lznuaa@gmail.com>2009-09-16 10:20:25 +0200
committerJunio C Hamano <gitster@pobox.com>2009-09-18 20:00:42 -0700
commitd75f8e61315cc502c34aec6600db00a7c7192ffd (patch)
tree7f422cee37e8095bae10c5a9869e010a65492ed3 /compat/msvc.c
parent16fe1e03694e75a3923c3a757ec946aa6098aec7 (diff)
downloadgit-d75f8e61315cc502c34aec6600db00a7c7192ffd.tar.gz
Add platform files for porting to MSVC
Add msvc.c and msvc.h to build git under MSVC. Signed-off-by: Frank Li <lznuaa@gmail.com> Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com> Acked-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'compat/msvc.c')
-rw-r--r--compat/msvc.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/compat/msvc.c b/compat/msvc.c
new file mode 100644
index 0000000000..ac04a4ccbd
--- /dev/null
+++ b/compat/msvc.c
@@ -0,0 +1,35 @@
+#include "../git-compat-util.h"
+#include "win32.h"
+#include <conio.h>
+#include "../strbuf.h"
+
+DIR *opendir(const char *name)
+{
+ int len;
+ DIR *p;
+ p = (DIR*)malloc(sizeof(DIR));
+ memset(p, 0, sizeof(DIR));
+ strncpy(p->dd_name, name, PATH_MAX);
+ len = strlen(p->dd_name);
+ p->dd_name[len] = '/';
+ p->dd_name[len+1] = '*';
+
+ if (p == NULL)
+ return NULL;
+
+ p->dd_handle = _findfirst(p->dd_name, &p->dd_dta);
+
+ if (p->dd_handle == -1) {
+ free(p);
+ return NULL;
+ }
+ return p;
+}
+int closedir(DIR *dir)
+{
+ _findclose(dir->dd_handle);
+ free(dir);
+ return 0;
+}
+
+#include "mingw.c"