- From: Jan-Arve Saeter <jana@birdstep.org>
- Date: Wed, 19 Sep 2001 09:59:35 +0200
- To: www-dom@w3.org
interface CharacterData : Node { void deleteData(in unsigned long offset, in unsigned long count) raises(DOMException); } Exceptions DOMException INDEX_SIZE_ERR: Raised if the specified offset is negative or greater than the number of 16-bit units in data, or if the specified count is negative. How can the count be negative if the count parameter is an unsigned long? The DOM Level 1 NIST conformance tests actually test on this by passing a negative value. Isn't this an error in the specification or is this just added to actually give a hint to bindings that don't support unsigned numbers (like Java (?)) ? To examplify: We have made an interface in C++ that of course uses an unsigned number, and we have made a JNI interface on top of this to actually "conformance" test the C++ implementation with the NIST Java conformance tests. If Java passes a negative number, this will be translated to a large unsigned number in C++ and the behaviour of these two different possibilities are specified to be different. Because the DOM Level 2 spec says: "If the sum of offset and count exceeds length then all 16-bit units from offset to the end of the data are deleted." Could somebody clarify this to me? ;-------------------------------- Jan-Arve Sæther, System Developer Birdstep Technology ASA Tel: 24134752
Received on Wednesday, 19 September 2001 04:14:13 UTC