aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/mkdir.c
diff options
context:
space:
mode:
authorPascal Obry <obry@adacore.com>2012-07-16 12:08:15 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2012-07-16 14:08:15 +0200
commite01934b794c8fb78c38e7ca26fe7a1d0bfb3e7f4 (patch)
tree01a0aa956e0bec26306264620b0673966f28bab4 /gcc/ada/mkdir.c
parent7a1c57d3cd31878f465b077491e9c4e47a44f813 (diff)
downloadgcc-e01934b794c8fb78c38e7ca26fe7a1d0bfb3e7f4.zip
gcc-e01934b794c8fb78c38e7ca26fe7a1d0bfb3e7f4.tar.gz
gcc-e01934b794c8fb78c38e7ca26fe7a1d0bfb3e7f4.tar.bz2
s-crtl.ads (mkdir): New routine, support encoding.
2012-07-16 Pascal Obry <obry@adacore.com> * s-crtl.ads (mkdir): New routine, support encoding. * adaint.h (__gnat_mkdir): Update spec to pass encoding. * mkdir.c (__gnat_mkdir): Add encoding parameter. * a-direct.adb (Create_Directory): Use CRTL.mkdir, parse encoding in form parameter. * g-dirope.adb (Make_Dir): Update to pass encoding parameter. 2012-07-16 Pascal Obry <obry@adacore.com> * adaint.c: Minor reformatting. From-SVN: r189525
Diffstat (limited to 'gcc/ada/mkdir.c')
-rw-r--r--gcc/ada/mkdir.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ada/mkdir.c b/gcc/ada/mkdir.c
index debd806..b8dba59 100644
--- a/gcc/ada/mkdir.c
+++ b/gcc/ada/mkdir.c
@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
- * Copyright (C) 2002-2009, Free Software Foundation, Inc. *
+ * Copyright (C) 2002-2012, 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- *
@@ -58,14 +58,20 @@
/* This function provides a portable binding to the mkdir function. */
int
-__gnat_mkdir (char *dir_name)
+__gnat_mkdir (char *dir_name, int encoding ATTRIBUTE_UNUSED)
{
#if defined (__vxworks) && !(defined (__RTP__) && (_WRS_VXWORKS_MINOR != 0))
return mkdir (dir_name);
#elif defined (__MINGW32__)
TCHAR wname [GNAT_MAX_PATH_LEN + 2];
- S2WSC (wname, dir_name, GNAT_MAX_PATH_LEN + 2);
+ if (encoding == Encoding_Unspecified)
+ S2WSC (wname, dir_name, GNAT_MAX_PATH_LEN);
+ else if (encoding == Encoding_UTF8)
+ S2WSU (wname, dir_name, GNAT_MAX_PATH_LEN);
+ else
+ S2WS (wname, dir_name, GNAT_MAX_PATH_LEN);
+
return _tmkdir (wname);
#else
return mkdir (dir_name, S_IRWXU | S_IRWXG | S_IRWXO);