diff options
author | Pascal Obry <obry@adacore.com> | 2007-06-06 12:38:07 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-06-06 12:38:07 +0200 |
commit | da4d406dcb68d1de187d81c93ae50864cc3f8fb0 (patch) | |
tree | 52f94a2cfe7824ea097c03b09d80be513a79c143 /gcc/ada/mkdir.c | |
parent | 66680f7af630060c5555a5d84738c7d2269ff742 (diff) | |
download | gcc-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.c | 20 |
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 |