From 3a5710bf7cb85da4ba6a327d6149db46e6bed82e Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Thu, 28 Aug 2008 16:26:07 +0200 Subject: Eliminate MLKStream, introduce MLKBinaryStream and MLKCharacterStream. --- MLKStringOutputStream.m | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'MLKStringOutputStream.m') diff --git a/MLKStringOutputStream.m b/MLKStringOutputStream.m index 00a60b0..ea08b89 100644 --- a/MLKStringOutputStream.m +++ b/MLKStringOutputStream.m @@ -17,6 +17,7 @@ */ #import "MLKStringOutputStream.h" +#import "MLKStreamStream.h" #import "runtime-compatibility.h" #import "util.h" @@ -28,16 +29,26 @@ @implementation MLKStringOutputStream -(id) init { - self = (id)[super initWithInputStream:nil - outputStream:LAUTORELEASE ([[NSOutputStream alloc] initToMemory]) - encoding:NSUnicodeStringEncoding]; + _outputStream = [[NSOutputStream alloc] initToMemory]; + + MLKStreamStream *binstream = + LAUTORELEASE ([[MLKStreamStream alloc] initWithOutputStream:_outputStream]); + + self = (id) [super initWithBinaryStream:binstream + encoding:NSUnicodeStringEncoding]; return self; } +-(void) dealloc +{ + LDESTROY (_outputStream); + [super dealloc]; +} + -(NSString *) string { - NSData *data = [_output propertyForKey:NSStreamDataWrittenToMemoryStreamKey]; + NSData *data = [_outputStream propertyForKey:NSStreamDataWrittenToMemoryStreamKey]; return LAUTORELEASE ([[NSString alloc] initWithData:data - encoding:NSUnicodeStringEncoding]); + encoding:NSUnicodeStringEncoding]); } @end -- cgit v1.2.3