2008-08-05 Vincent Celier <celier@adacore.com>

* 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
This commit is contained in:
Vincent Celier 2008-08-05 15:42:08 +02:00 committed by Arnaud Charlet
parent c336d2c7ff
commit 486fd7f5d7
2 changed files with 8 additions and 7 deletions

View File

@ -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;

View File

@ -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;