diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2008-08-01 10:35:21 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2008-08-01 10:35:21 +0200 |
commit | d1b4f87d1b22029e19ca82dbff6a8a39873a7ab4 (patch) | |
tree | 0a3b9b75c9d075679160076e009c1c0858b535a0 | |
parent | 766d7add511f9edffa341239c0af1c1ec6bdfad2 (diff) | |
download | gcc-d1b4f87d1b22029e19ca82dbff6a8a39873a7ab4.zip gcc-d1b4f87d1b22029e19ca82dbff6a8a39873a7ab4.tar.gz gcc-d1b4f87d1b22029e19ca82dbff6a8a39873a7ab4.tar.bz2 |
s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in paths...
2008-08-01 Jerome Lambourg <lambourg@adacore.com>
* s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in
paths, which are authorized by Windows but can lead to errors when used
elsewhere.
From-SVN: r138484
-rw-r--r-- | gcc/ada/ChangeLog | 16 | ||||
-rwxr-xr-x | gcc/ada/s-os_lib.adb | 18 |
2 files changed, 34 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 3eb081d..fa598cd 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,19 @@ +2008-08-01 Jose Ruiz <ruiz@adacore.com> + + * adaint.c (__gnat_tmp_name): Refine the generation of temporary names + for RTX. Adding a suffix that is incremented at each iteration. + +2008-08-01 Robert Dewar <dewar@adacore.com> + + * sem_ch6.adb (Analyze_Subprogram_Body): Remove special casing of + Raise_Exception + +2008-08-01 Jerome Lambourg <lambourg@adacore.com> + + * s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in + paths, which are authorized by Windows but can lead to errors when used + elsewhere. + 2008-08-01 Ed Schonberg <schonberg@adacore.com> * sem_ch12.ads (Need_Subprogram_Instance_Body): new function, to create diff --git a/gcc/ada/s-os_lib.adb b/gcc/ada/s-os_lib.adb index 6df7fa4..532fca4 100755 --- a/gcc/ada/s-os_lib.adb +++ b/gcc/ada/s-os_lib.adb @@ -1921,6 +1921,24 @@ package body System.OS_Lib is end; end if; + -- On Windows, remove all double-quotes that are possibly part of the + -- path but can cause problems with other methods. + + if On_Windows then + declare + Index : Natural := Path_Buffer'First; + begin + for Current in Path_Buffer'First .. End_Path loop + if Path_Buffer (Current) /= '"' then + Path_Buffer (Index) := Path_Buffer (Current); + Index := Index + 1; + end if; + end loop; + + End_Path := Index - 1; + end; + end if; + -- Start the conversions -- If this is not finished after Max_Iterations, give up and return an |