[Pkg] The Trunk: Collections-nice.577.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Jul 26 21:35:43 UTC 2014


Nicolas Cellier uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-nice.577.mcz

==================== Summary ====================

Name: Collections-nice.577
Author: nice
Time: 26 July 2014, 11:34:56.071 pm
UUID: c5925cce-0dac-4744-9c8e-08888f259f63
Ancestors: Collections-nice.576

Convert Base64MimeConverter implementation from ReadWriteStream to alternate WriteStream/ReadStream.
Beware, the main class messages now answer a ReadStream, not a ReadWriteStream.

=============== Diff against Collections-nice.576 ===============

Item was changed:
  ----- Method: Base64MimeConverter class>>encodeInteger: (in category 'as yet unclassified') -----
  encodeInteger: int
  	| strm |
  	"Encode an integer of any length and return the MIME string"
  
+ 	strm := WriteStream on: (ByteArray new: int digitLength).
- 	strm := ReadWriteStream on: (ByteArray new: int digitLength).
  	1 to: int digitLength do: [:ii | strm nextPut: (int digitAt: ii)].
+ 	^ ((self mimeEncode: strm readStream) contents) copyUpTo: $=	"remove padding"!
- 	strm reset.
- 	^ ((self mimeEncode: strm) contents) copyUpTo: $=	"remove padding"!

Item was changed:
  ----- Method: Base64MimeConverter class>>mimeDecodeToBytes: (in category 'as yet unclassified') -----
  mimeDecodeToBytes: aStream 
+ 	"Return a ReadStream of the original ByteArray.  aStream has only 65 innocuous character values.  aStream is not binary.  (See class comment). 4 bytes in aStream goes to 3 bytes in output."
- 	"Return a RWBinaryOrTextStream of the original ByteArray.  aStream has only 65 innocuous character values.  aStream is not binary.  (See class comment). 4 bytes in aStream goes to 3 bytes in output."
  
  	| me |
  	aStream position: 0.
  	me := self new mimeStream: aStream.
+ 	me dataStream: (WriteStream on: (ByteArray new: aStream size * 3 // 4)).
- 	me dataStream: (RWBinaryOrTextStream on: (ByteArray new: aStream size * 3 // 4)).
  	me mimeDecodeToByteArray.
+ 	^ me dataStream readStream!
- 	me dataStream position: 0.
- 	^ me dataStream!

Item was changed:
  ----- Method: Base64MimeConverter class>>mimeDecodeToChars: (in category 'as yet unclassified') -----
  mimeDecodeToChars: aStream 
  	"Return a ReadWriteStream of the original String.  aStream has only 65 innocuous character values.  It is not binary.  (See class comment). 4 bytes in aStream goes to 3 bytes in output."
  
  	| me |
  	aStream position: 0.
  	me := self new mimeStream: aStream.
+ 	me dataStream: (WriteStream on: (String new: aStream size * 3 // 4)).
- 	me dataStream: (ReadWriteStream on: (String new: aStream size * 3 // 4)).
  	me mimeDecode.
+ 	^ me dataStream readStream!
- 	me dataStream position: 0.
- 	^ me dataStream!

Item was changed:
  ----- Method: Base64MimeConverter class>>mimeEncode:multiLine:atStart: (in category 'as yet unclassified') -----
  mimeEncode: aStream multiLine: aBool atStart: resetInput
+ 	"Return a ReadStream of characters.  The data of aStream is encoded as 65 innocuous characters.  (See class comment). 3 bytes in aStream goes to 4 bytes in output."
- 	"Return a ReadWriteStream of characters.  The data of aStream is encoded as 65 innocuous characters.  (See class comment). 3 bytes in aStream goes to 4 bytes in output."
  
  	| me |
  	resetInput ifTrue:[aStream position: 0].
  	me := self new dataStream: aStream.
  	me multiLine: aBool.
+ 	me mimeStream: (WriteStream on: (String new: aStream size + 20 * 4 // 3)).
- 	me mimeStream: (ReadWriteStream on: (String new: aStream size + 20 * 4 // 3)).
  	me mimeEncode.
+ 	^ me mimeStream readStream!
- 	me mimeStream position: 0.
- 	^ me mimeStream!



More information about the Packages mailing list