aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/mkdir.c
diff options
context:
space:
mode:
authorPascal Obry <obry@adacore.com>2007-06-06 12:38:07 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2007-06-06 12:38:07 +0200
commitda4d406dcb68d1de187d81c93ae50864cc3f8fb0 (patch)
tree52f94a2cfe7824ea097c03b09d80be513a79c143 /gcc/ada/mkdir.c
parent66680f7af630060c5555a5d84738c7d2269ff742 (diff)
downloadgcc-da4d406dcb68d1de187d81c93ae50864cc3f8fb0.zip
gcc-da4d406dcb68d1de187d81c93ae50864cc3f8fb0.tar.gz
gcc-da4d406dcb68d1de187d81c93ae50864cc3f8fb0.tar.bz2
mkdir.c (__gnat_mkdir): Add support for UTF-8.
2007-04-20 Pascal Obry <obry@adacore.com> * mkdir.c (__gnat_mkdir): Add support for UTF-8. From-SVN: r125434
Diffstat (limited to 'gcc/ada/mkdir.c')
-rw-r--r--gcc/ada/mkdir.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/gcc/ada/mkdir.c b/gcc/ada/mkdir.c
index 1aadf10..624a62c 100644
--- a/gcc/ada/mkdir.c
+++ b/gcc/ada/mkdir.c
@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
- * Copyright (C) 2002-2006, Free Software Foundation, Inc. *
+ * Copyright (C) 2002-2007, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -44,6 +44,16 @@
#include "system.h"
#endif
+#ifdef __MINGW32__
+#include "mingw32.h"
+#include <windows.h>
+#ifdef MAXPATHLEN
+#define GNAT_MAX_PATH_LEN MAXPATHLEN
+#else
+#define GNAT_MAX_PATH_LEN 256
+#endif
+#endif
+
#include "adaint.h"
/* This function provides a portable binding to the mkdir function. */
@@ -51,9 +61,13 @@
int
__gnat_mkdir (char *dir_name)
{
-#if defined (_WIN32) || (defined (__vxworks) \
- && !(defined (__RTP__) && (_WRS_VXWORKS_MINOR != 0)))
+#if defined (__vxworks) && !(defined (__RTP__) && (_WRS_VXWORKS_MINOR != 0))
return mkdir (dir_name);
+#elif defined (__MINGW32__)
+ TCHAR wname [GNAT_MAX_PATH_LEN + 2];
+
+ S2WSU (wname, dir_name, GNAT_MAX_PATH_LEN + 2);
+ return _tmkdir (wname);
#else
return mkdir (dir_name, S_IRWXU | S_IRWXG | S_IRWXO);
#endif