aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/initialize.c
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2009-04-17 12:01:17 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2009-04-17 12:01:17 +0200
commit03f050b6b4f0b051bbd9ddf7061b5002808ed052 (patch)
tree743b5a8129e06c619ef80fa5f1948d96e7408beb /gcc/ada/initialize.c
parentbf327c92ead248cae1afba338d72bb7116dfc783 (diff)
downloadgcc-03f050b6b4f0b051bbd9ddf7061b5002808ed052.zip
gcc-03f050b6b4f0b051bbd9ddf7061b5002808ed052.tar.gz
gcc-03f050b6b4f0b051bbd9ddf7061b5002808ed052.tar.bz2
[multiple changes]
2009-04-17 Nicolas Roche <roche@adacore.com> * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each argument length. 2009-04-17 Gary Dismukes <dismukes@adacore.com> * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to cover both calls and attribute references ("call" => "reference"). 2009-04-17 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access type for which Storage_Size is set to 0 is legal in a pure unit. From-SVN: r146237
Diffstat (limited to 'gcc/ada/initialize.c')
-rw-r--r--gcc/ada/initialize.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/ada/initialize.c b/gcc/ada/initialize.c
index ef51f70..b7b905b 100644
--- a/gcc/ada/initialize.c
+++ b/gcc/ada/initialize.c
@@ -99,10 +99,10 @@ __gnat_initialize (void *eh)
/* Adjust gnat_argv to support Unicode characters. */
{
- char arg_utf8[MAX_PATH];
LPWSTR *wargv;
int wargc;
int k;
+ int size;
wargv = CommandLineToArgvW (GetCommandLineW(), &wargc);
@@ -113,9 +113,9 @@ __gnat_initialize (void *eh)
for (k=0; k<wargc; k++)
{
- WS2SC (arg_utf8, wargv[k], MAX_PATH);
- gnat_argv[k] = (char *) xmalloc (strlen (arg_utf8) + 1);
- strcpy (gnat_argv[k], arg_utf8);
+ size = WS2SC (NULL, wargv[k], 0);
+ gnat_argv[k] = (char *) xmalloc (size + 1);
+ WS2SC (gnat_argv[k], wargv[k], size);
}
LocalFree (wargv);