Commit 3e69e63b by Arnaud Charlet

* i-c.adb (To_C): Raise CE if string is null and Append_Null

From-SVN: r92839
parent d9246d2d
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2004 Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -289,21 +289,20 @@ package body Interfaces.C is ...@@ -289,21 +289,20 @@ package body Interfaces.C is
return R; return R;
end; end;
else -- Append_Nul is False -- Append_Nul False
else
-- A nasty case, if the string is null, we must return -- A nasty case, if the string is null, we must return
-- a null char_array. The lower bound of this array is -- a null char_array. The lower bound of this array is
-- required to be zero (RM B.3(50)) but that is of course -- required to be zero (RM B.3(50)) but that is of course
-- impossible given that size_t is unsigned. This needs -- impossible given that size_t is unsigned. According to
-- ARG resolution, but for now GNAT returns bounds 1 .. 0 -- Ada 2005 AI-258, the result is to raise Constraint_Error.
if Item'Length = 0 then if Item'Length = 0 then
declare raise Constraint_Error;
R : char_array (1 .. 0);
begin -- Normal case
return R;
end;
else else
declare declare
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment