Hi, I found a bug in Swazoo with encoding post. How to reproduce it (with seaside for example): put a character like "é" or "à" in an input field.
You'll get an error message like this one: SystemExceptions.ArgumentOutOfRange class>>signalOn:mustBeBetween:and: (AnsiExcept.st:780) String(Object)>>checkIndexableBounds:put: (Object.st:805) String>>at:put: (String.st:293) WriteStream>>nextPut: (WriteStream.st:93) [] in Swazoo.HTTPString class>>decodedHTTPFrom: (Swazoo.star#VFS.ZipFile/HTTP.st:740) I fixed it, without searching deeply where the bug came from though (see the attached file). Cheers! Nico
*** ./HTTP.st 2009-03-06 12:43:35.000000000 +0100 --- ./HTTP_fixed.st 2009-03-06 12:41:27.000000000 +0100 *************** *** 235,241 **** | first index | first := aBoundaryBytes first. "fast test" ! ((self ptr + 1 to: endPtr) contains: [:inx | (collection at: inx) = first]) ifFalse: [^0]. "full or partial boundary on the edge of buffer test" index := self indexOfBoundary: aBoundaryBytes. "index of full, or partial boundary at the edge" --- 235,241 ---- | first index | first := aBoundaryBytes first. "fast test" ! ((ptr + 1 to: endPtr) contains: [:inx | (collection at: inx) = first]) ifFalse: [^0]. "full or partial boundary on the edge of buffer test" index := self indexOfBoundary: aBoundaryBytes. "index of full, or partial boundary at the edge" *************** *** 737,744 **** char = $% ifTrue: [targetStream ! nextPut: (SpEnvironment integerFromString: '16r' , (sourceStream next: 2)) ! asCharacter] ifFalse: [char == $+ ifTrue: [targetStream nextPut: Character space] --- 737,744 ---- char = $% ifTrue: [targetStream ! nextPut: (Character value: (SpEnvironment integerFromString: '16r' , (sourceStream next: 2))) ! ] ifFalse: [char == $+ ifTrue: [targetStream nextPut: Character space]
signature.asc
Description: Ceci est une partie de message numériquement signée
_______________________________________________ help-smalltalk mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-smalltalk
