aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/adaint.h
diff options
context:
space:
mode:
authorPascal Obry <obry@adacore.com>2006-02-15 10:30:39 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2006-02-15 10:30:39 +0100
commit0022d9e31d01f2a31808ff38f66dd3e3ac96927a (patch)
treeff53725d708aacac9be1a454735ad7f7bd86d8f1 /gcc/ada/adaint.h
parent4f37ea7d5f6ff5a77db8895034a682ff996b8bed (diff)
downloadgcc-0022d9e31d01f2a31808ff38f66dd3e3ac96927a.zip
gcc-0022d9e31d01f2a31808ff38f66dd3e3ac96927a.tar.gz
gcc-0022d9e31d01f2a31808ff38f66dd3e3ac96927a.tar.bz2
adaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode support.
2006-02-13 Pascal Obry <obry@adacore.com> Nicolas Roche <roche@adacore.com> Arnaud Charlet <charlet@adacore.com> * adaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode support. (__gnat_try_lock): Add unicode support by using a specific section on Windows. (__gnat_get_current_dir): Idem. (__gnat_open_read): Idem. (__gnat_open_rw): Idem. (__gnat_open_create): Idem. (__gnat_create_output_file): Idem. (__gnat_open_append): Idem. (__gnat_open_new): Idem. (__gnat_file_time_name): Idem. (__gnat_set_file_time_name): Idem. (__gnat_stat): Idem. (win32_no_block_spawn): Idem. (__gnat_locate_exec_on_path): Idem. (__gnat_opendir): New routine. (__gnat_closedir): Idem. (__gnat_readdir): Add new parameter length (pointer to int). Update implementation to use it and add specific Win32 code for Unicode support. (__gnat_get_env_value_ptr): Remove. Replaced by __gnat_getenv in env.c (__gnat_set_env_value): Remove. Replaced by __gnat_setenv in env.c (convert_addresses): Do not define this dummy routine on VMS. * mingw32.h (GNAT_UNICODE_SUPPORT): New definition, if set the GNAT runtime Unicode support will be activated. (S2WS): String to Wide-String conversion. This version just copy a string in non Unicode version. (WS2S): Wide-String to String conversion. This version just copy a string in non Unicode version. * g-dirope.adb: (Close): Now import __gnat_closedir from adaint.c. (Open): Now import __gnat_opendir from adaint.c. (Read): Change the implementation to support unicode characters. It is not possible to use strlen() on Windows as this version supports only standard ASCII characters. So the length of the directory entry is now returned from the imported __gnat_readdir routine. Update copyright notice. * s-crtl-vms64.ads, s-crtl.ads: (closedir): Moved to adaint.c. (opendir): Moved to adaint.c. * g-os_lib.adb (Copy_Time_Stamp): Fix off-by-one range computation. (Get_Directory): Fix wrong indexing. (Getenv): replace __gnat_get_env_value_ptr from adaint.c by __gnat_getenv from env.c (Setenv): replace __gnat_set_env_value from adaint.c by __gnat_setenv from env.c * env.h, env.c: New file. * s-scaval.adb (Initialize): Replace __gnat_get_env_value_ptr from adaint.c by __gnat_getenv from env.c * s-shasto.adb (Initialize): replace __gnat_get_env_value_ptr from adaint.c by __gnat_getenv from env.c * Make-lang.in: Add env.o in the list of C object needed by gnat1 and gnatbind. Update dependencies. From-SVN: r111029
Diffstat (limited to 'gcc/ada/adaint.h')
-rw-r--r--gcc/ada/adaint.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/gcc/ada/adaint.h b/gcc/ada/adaint.h
index 70ee1d0..9bcf058 100644
--- a/gcc/ada/adaint.h
+++ b/gcc/ada/adaint.h
@@ -6,7 +6,7 @@
* *
* C Header File *
* *
- * Copyright (C) 1992-2005, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2006, 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- *
@@ -30,7 +30,13 @@
* *
****************************************************************************/
+#include <sys/stat.h>
#include <stdio.h>
+
+#ifdef _WIN32
+#include "mingw32.h"
+#endif
+
#include <dirent.h>
typedef long OS_Time; /* Type corresponding to GNAT.OS_Lib.OS_Time */
@@ -68,7 +74,9 @@ extern int __gnat_open_append (char *, int);
extern long __gnat_file_length (int);
extern long __gnat_named_file_length (char *);
extern void __gnat_tmp_name (char *);
-extern char *__gnat_readdir (DIR *, char *);
+extern DIR *__gnat_opendir (char *);
+extern char *__gnat_readdir (DIR *, char *, int *);
+extern int __gnat_closedir (DIR *);
extern int __gnat_readdir_is_thread_safe (void);
extern OS_Time __gnat_file_time_name (char *);
@@ -76,8 +84,7 @@ extern OS_Time __gnat_file_time_fd (int);
/* return -1 in case of error */
extern void __gnat_set_file_time_name (char *, time_t);
-extern void __gnat_get_env_value_ptr (char *, int *,
- char **);
+
extern int __gnat_dup (int);
extern int __gnat_dup2 (int, int);
extern int __gnat_file_exists (char *);
@@ -98,7 +105,6 @@ extern char *__gnat_locate_exec_on_path (char *);
extern char *__gnat_locate_regular_file (char *, char *);
extern void __gnat_maybe_glob_args (int *, char ***);
extern void __gnat_os_exit (int);
-extern void __gnat_set_env_value (char *, char *);
extern char *__gnat_get_libraries_from_registry (void);
extern int __gnat_to_canonical_file_list_init (char *, int);
extern char *__gnat_to_canonical_file_list_next (void);