aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Celier <celier@adacore.com>2008-08-05 15:42:08 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2008-08-05 15:42:08 +0200
commit486fd7f5d7da98d37a02887cfbb2d178ee6191bb (patch)
tree41315687c8149a8c962459a87f301abcc4795770
parentc336d2c7ff465c4f262122895710874afa422e8c (diff)
downloadgcc-486fd7f5d7da98d37a02887cfbb2d178ee6191bb.zip
gcc-486fd7f5d7da98d37a02887cfbb2d178ee6191bb.tar.gz
gcc-486fd7f5d7da98d37a02887cfbb2d178ee6191bb.tar.bz2
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
-rw-r--r--gcc/ada/s-wchwts.adb12
-rw-r--r--gcc/ada/s-wchwts.ads3
2 files changed, 8 insertions, 7 deletions
diff --git a/gcc/ada/s-wchwts.adb b/gcc/ada/s-wchwts.adb
index ed660fe..1dc2fce 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 691a322..4f8bfcf 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;