-- --
-- B o d y --
-- --
--- Copyright (C) 2003-2005, Free Software Foundation, Inc. --
+-- Copyright (C) 2003-2006, Free Software Foundation, Inc. --
-- --
-- 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- --
raise Index_Error;
else
Result.Current_Length := High - Low + 1;
- Result.Data (1 .. Source.Current_Length) := Source.Data (Low .. High);
+ Result.Data (1 .. Result.Current_Length) := Source.Data (Low .. High);
end if;
return Result;
raise Index_Error;
else
Target.Current_Length := High - Low + 1;
- Target.Data (1 .. Source.Current_Length) := Source.Data (Low .. High);
+ Target.Data (1 .. Target.Current_Length) := Source.Data (Low .. High);
end if;
end Super_Slice;
-- --
-- B o d y --
-- --
--- Copyright (C) 2003-2005, Free Software Foundation, Inc. --
+-- Copyright (C) 2003-2006, Free Software Foundation, Inc. --
-- --
-- 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- --
raise Index_Error;
else
Result.Current_Length := High - Low + 1;
- Result.Data (1 .. Source.Current_Length) := Source.Data (Low .. High);
+ Result.Data (1 .. Result.Current_Length) := Source.Data (Low .. High);
end if;
return Result;
raise Index_Error;
else
Target.Current_Length := High - Low + 1;
- Target.Data (1 .. Source.Current_Length) := Source.Data (Low .. High);
+ Target.Data (1 .. Target.Current_Length) := Source.Data (Low .. High);
end if;
end Super_Slice;
-- --
-- B o d y --
-- --
--- Copyright (C) 2003-2005, Free Software Foundation, Inc. --
+-- Copyright (C) 2003-2006, Free Software Foundation, Inc. --
-- --
-- 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- --
raise Index_Error;
else
Result.Current_Length := High - Low + 1;
- Result.Data (1 .. Source.Current_Length) := Source.Data (Low .. High);
+ Result.Data (1 .. Result.Current_Length) := Source.Data (Low .. High);
end if;
return Result;
raise Index_Error;
else
Target.Current_Length := High - Low + 1;
- Target.Data (1 .. Source.Current_Length) := Source.Data (Low .. High);
+ Target.Data (1 .. Target.Current_Length) := Source.Data (Low .. High);
end if;
end Super_Slice;
-- B o d y --
-- --
-- Copyright (C) 1986 by University of Toronto. --
--- Copyright (C) 1999-2005, AdaCore --
+-- Copyright (C) 1999-2006, AdaCore --
-- --
-- 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- --
if Next_Char_Known then
-- Last position to check
- Last_Pos := Input_Pos + Max;
-
- if Last_Pos > Last_In_Data
- or else Max = Natural'Last
- then
+ if Max = Natural'Last then
Last_Pos := Last_In_Data;
+ else
+ Last_Pos := Input_Pos + Max;
+
+ if Last_Pos > Last_In_Data then
+ Last_Pos := Last_In_Data;
+ end if;
end if;
-- Look for the first possible opportunity