]> git.pond.sub.org Git - empserver/commitdiff
[_WIN32] (posix_mkdir): New.
authorRon Koenderink <rkoenderink@yahoo.ca>
Tue, 14 Aug 2007 03:11:26 +0000 (03:11 +0000)
committerRon Koenderink <rkoenderink@yahoo.ca>
Tue, 14 Aug 2007 03:11:26 +0000 (03:11 +0000)
[_WIN32] (mkdir): Use it.  Last argument is no longer ignored, which
was a bug.  Move declaration to unistd.h, which isn't quite right, but
works for us.

include/misc.h
src/lib/w32/posixfile.c [new file with mode: 0644]
src/lib/w32/unistd.h

index 4384a8183b51144a19abc4152fd107a5e686013a..0e5ede0b8b6154f108404e9c3202f6adf31c5ed6 100644 (file)
@@ -54,7 +54,6 @@ typedef int pid_t;
 
 #endif /* !__GNUC__ */
 
 
 #endif /* !__GNUC__ */
 
-#define mkdir(dir,perm) _mkdir((dir))
 #define random rand
 #define srandom srand
 #ifndef S_IRUSR
 #define random rand
 #define srandom srand
 #ifndef S_IRUSR
diff --git a/src/lib/w32/posixfile.c b/src/lib/w32/posixfile.c
new file mode 100644 (file)
index 0000000..e633829
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ *  Empire - A multi-player, client/server Internet based war game.
+ *  Copyright (C) 1986-2007, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ *                           Ken Stevens, Steve McClure
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ *  ---
+ *
+ *  See files README, COPYING and CREDITS in the root of the source
+ *  tree for related information and legal notices.  It is expected
+ *  that future projects/authors will amend these files as needed.
+ *
+ *  ---
+ *
+ *  posixfile.c: POSIX equivalents for file operations
+ * 
+ *  Known contributors to this file:
+ *     Ron Koenderink, 2007
+ */
+#include <direct.h>
+#include <io.h>
+#include "unistd.h"
+
+int
+posix_mkdir(const char *dirname, int perm)
+{
+    int result;
+
+    result = _mkdir(dirname);
+    if (result < 0)
+       return -1;
+    return _chmod(dirname, perm);
+}
index e640f5297afe6a0906e1db88bf4f391d7b5edbb5..80be3c2c1129e954339d4906a42d1b87127e26a4 100644 (file)
 #define UNISTD_H
 
 #include "getopt.h"
 #define UNISTD_H
 
 #include "getopt.h"
+
+/*
+ * posixfile.c
+ */
+#define mkdir(dir, perm)    posix_mkdir((dir), (perm))
+
+extern int posix_mkdir(const char *dirname, int perm);
+
 #endif /* UNISTD_H */
 #endif /* UNISTD_H */