CVS difference for ais/ai-00242.txt

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

--- ais/ai-00242.txt	2002/03/13 00:48:27	1.3
+++ ais/ai-00242.txt	2002/05/25 03:42:18	1.4
@@ -10,7 +10,7 @@
 
 !summary
 
-Interfaces.C.Strings.Update should support a nul-terminated Chars parameter.
+Interfaces.C.Strings.Update does not append a nul to the Str parameter.
 
 !question
 
@@ -20,7 +20,6 @@
 
 with Interfaces.C.Strings;
 use  Interfaces.C.Strings;
-
 procedure Cstr_Update_Test is
 
    Cs : Chars_Ptr;
@@ -34,8 +33,8 @@
    Update(Cs, 0, S2);
 end Cstr_Update_Test;
 
-Most would expect the result of executing this procedure to be that
-the Cs variable would indicate a char* string now containing the
+Most programmers would expect the result of executing this procedure
+to be that the Cs variable would indicate a char* string now containing the
 string "WXYZ" with an appended nul.
 
 This is not the case however. The standard requires that the Update procedure
@@ -77,23 +76,20 @@
 
 The Update with a Char_Array parameter does not support the input of a
 nul-terminated string that is the same size as the output. Moreover, the
-intent (noted in AARM B.3.1(48.a)) is that an Chars parameter containing
+intent (noted in AARM B.3.1(48.a)) is that a Chars parameter containing
 nul truncate the Item, and thus passing it a nul-terminated string is bound
 to cause trouble.
 
-The problem here is the equivalence adds a nul to the input string. If no
+The problem here is that the equivalence adds a nul to the input string. If no
 nul is added, the behavior of the Update with a String parameter operates
 as expected.
-
-The rather bizarre shortening semantics of the Update with a Char_Array
-parameter is clearly intended, as it is noted in the AARM.
 
-The rather bizarre and error-prone shortening semantics of the Update with a
-Char_Array parameter is inconsistent with the rest of the standard, as the
-other subprograms in Interfaces.C.Strings that take a Char_Array allow an
-optionally nul-termination parameter as do the similar subprograms in
-Interfaces.C. However, since this semantics is clearly intended (as evidenced
-by the AARM note), there is insufficient reason to add a Truncate parameter.
+The error-prone shortening semantics of the Update with a Char_Array parameter
+is inconsistent with the rest of the standard, as the other subprograms in
+Interfaces.C.Strings that take a Char_Array allow an optional nul-termination
+parameter as do the similar subprograms in Interfaces.C. However, since this
+semantics is clearly intended (as evidenced by the AARM note), there is
+insufficient reason to add a Truncate parameter to Update.
 
 !corrigendum  B.3.1(50)
 

Questions? Ask the ACAA Technical Agent