Calling the method System class >> addAllToStoneLog: with an argument of length greater than 16269 results in an error.
File in the following as SystemUser and commit.
classmethod System
addAllToStoneLog: aString
"Appends text to the Stone's informational log file. First, this method writes
a banner that identifies the session from which aString came. It then appends
aString itself. The argument must be a kind of String or DoubleByteString."
| logicalSize chunkSize offset endOffset |
aString basicSize <= 16270 "virtual machine constant" ifTrue:[
^ self _addAllToStoneLog: aString
].
aString _validateClasses:#[ String, DoubleByteString].
logicalSize := aString size .
chunkSize := 16270 "virtual machine constant" .
(aString isKindOf: DoubleByteString) ifTrue:[ chunkSize := 16270 / 2 ].
offset := 1.
[offset <= logicalSize] whileTrue:[
endOffset := offset + chunkSize - 1 .
endOffset > logicalSize ifTrue:[ endOffset := logicalSize ].
self _addAllToStoneLog: (aString copyFrom: offset to: endOffset).
offset := offset + chunkSize
].
%
Last updated: 4/10/09