CVS difference for ais/ai-00177.txt

Differences between 1.2 and version 1.3
Log of other versions for file ais/ai-00177.txt

--- ais/ai-00177.txt	1998/10/01 03:20:20	1.2
+++ ais/ai-00177.txt	1999/07/21 03:10:58	1.3
@@ -1,5 +1,6 @@
-!standard B.3.1    (40)                               97-11-14  AI95-00177/02
+!standard B.3.1    (40)                               99-07-20  AI95-00177/03
 !class binding interpretation 97-03-19
+!status Corrigendum 2000 99-05-27
 !status WG9 Approved  97-11-14
 !status ARG Approved (letter ballot: 9-0-2)  97-10-27
 !status ARG Approved (subject to letter ballot) 4-0-6  97-04-11
@@ -9,7 +10,7 @@
 !difficulty Medium
 !subject Interfaces.C.Strings.Value with len returning String
 
-!summary 97-05-08
+!summary
 
 A call to the following function declared in Interfaces.C.Strings:
 
@@ -20,7 +21,7 @@
 
     To_Ada( Value(Item, Length) & nul, Trim_Nul => True)
 
-!question 97-05-08
+!question
 
 The definition of the function Interfaces.C.Strings.Value which
 takes a chars_ptr and a length, and returning a String, seems
@@ -34,11 +35,11 @@
 
 What is the intent?
 
-!recommendation 97-05-08
+!recommendation
 
 (See Summary.)
 
-!wording 97-05-08
+!wording
 
 Amend B.3.1(40) to say:
 
@@ -47,7 +48,7 @@
 
     40  Equivalent to To_Ada( Value(Item, Length) & nul, Trim_Nul => True).
 
-!discussion 97-05-08
+!discussion
 
 B.3.1(40) says:
 
@@ -55,9 +56,21 @@
 
 However, this is incorrect.  It makes no sense to trim the nul by
 default, and then complain about a missing nul.
+
+!corrigendum B.03.01(40)
+
+@drepl
+@xindent<Equivalent to To_Ada(Value(Item, Length), Trim_Nul=@>True).>
+@dby
+@xindent<Equivalent to To_Ada( Value(Item, Length) & nul, Trim_Nul =@> True).>
+
+!ACATS test
 
-!appendix 97-03-19
+This AI was prompted by the behavior of ACATS test CXB3011, and is adaquately
+tested by that test.
 
+!appendix
+
 !section B.3.1(40)
 !subject Interfaces.C.Strings.Value with len returning String
 !reference RM95 B.3.1(40)
@@ -109,11 +122,11 @@
 declare
   x    : aliased char_array := "abcdefg" & nul;
   p    : chars_ptr          := To_Chars_Ptr( x'Unchecked_Access );
-  
+
   ca_1 : char_array := Value( p );      -- "abcdefg" & nul
   ca_2 : char_array := Value( p, 10 );  -- "abcdefg" & nul
   ca_3 : char_array := Value( p, 5 );   -- "abcde"
-  
+
   s_1  : String := Value( p );          -- "abcdefg"
   s_2  : String := Value( p, 10 );      -- "abcdefg"
   s_3  : String := Value( p, 5 );       -- ??

Questions? Ask the ACAA Technical Agent