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]

Attachment: 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

Reply via email to