From d1b4f87d1b22029e19ca82dbff6a8a39873a7ab4 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Fri, 1 Aug 2008 10:35:21 +0200 Subject: [PATCH] s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in paths... 2008-08-01 Jerome Lambourg * 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 --- gcc/ada/ChangeLog | 16 ++++++++++++++++ gcc/ada/s-os_lib.adb | 18 ++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 3eb081d0278a..fa598cdc2433 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,19 @@ +2008-08-01 Jose Ruiz + + * 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 + + * sem_ch6.adb (Analyze_Subprogram_Body): Remove special casing of + Raise_Exception + +2008-08-01 Jerome Lambourg + + * 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 * 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 6df7fa4a7c8b..532fca41d0f5 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 -- 2.47.2