From: Vincent Celier Date: Tue, 5 Aug 2008 13:42:08 +0000 (+0200) Subject: 2008-08-05 Vincent Celier X-Git-Tag: releases/gcc-4.4.0~3350 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=486fd7f5d7da98d37a02887cfbb2d178ee6191bb;p=thirdparty%2Fgcc.git 2008-08-05 Vincent Celier * s-wchwts.adb: (Wide_String_To_String): Returns a String with the same 'First as its parameter S. (Wide_Wide_String_To_String): Ditto * s-wchwts.ads: (Wide_String_To_String): Document that the lowest index of the returned String is equal to S'First. From-SVN: r138708 --- diff --git a/gcc/ada/s-wchwts.adb b/gcc/ada/s-wchwts.adb index ed660fefc0f1..1dc2fce4a877 100644 --- a/gcc/ada/s-wchwts.adb +++ b/gcc/ada/s-wchwts.adb @@ -88,16 +88,16 @@ package body System.WCh_WtS is (S : Wide_String; EM : WC_Encoding_Method) return String is - R : String (1 .. 5 * S'Length); -- worst case length! + R : String (S'First .. S'First + 5 * S'Length); -- worst case length! RP : Natural; begin - RP := 0; + RP := R'First - 1; for SP in S'Range loop Store_UTF_32_Character (Wide_Character'Pos (S (SP)), R, RP, EM); end loop; - return R (1 .. RP); + return R (R'First .. RP); end Wide_String_To_String; -------------------------------- @@ -108,17 +108,17 @@ package body System.WCh_WtS is (S : Wide_Wide_String; EM : WC_Encoding_Method) return String is - R : String (1 .. 7 * S'Length); -- worst case length! + R : String (S'First .. S'First + 7 * S'Length); -- worst case length! RP : Natural; begin - RP := 0; + RP := R'First - 1; for SP in S'Range loop Store_UTF_32_Character (Wide_Wide_Character'Pos (S (SP)), R, RP, EM); end loop; - return R (1 .. RP); + return R (R'First .. RP); end Wide_Wide_String_To_String; end System.WCh_WtS; diff --git a/gcc/ada/s-wchwts.ads b/gcc/ada/s-wchwts.ads index 691a322ea6ce..4f8bfcf40140 100644 --- a/gcc/ada/s-wchwts.ads +++ b/gcc/ada/s-wchwts.ads @@ -54,7 +54,8 @@ package System.WCh_WtS is -- that normal (non-wide character) mode holds at the start and end of -- the result string. EM indicates the wide character encoding method. -- Note: in the WCEM_Brackets case, we only use the brackets encoding - -- for characters greater than 16#FF#. + -- for characters greater than 16#FF#. The lowest index of the returned + -- String is equal to S'First. function Wide_Wide_String_To_String (S : Wide_Wide_String;