summaryrefslogtreecommitdiff
path: root/MLKStringOutputStream.m
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-08-28 16:26:07 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-08-28 16:26:07 +0200
commit3a5710bf7cb85da4ba6a327d6149db46e6bed82e (patch)
treefd63fdf8063ed5230e43785c64bd1990c42875a3 /MLKStringOutputStream.m
parent5afdd34ed00ed1de76b90a884e5b04bd699dc0af (diff)
Eliminate MLKStream, introduce MLKBinaryStream and MLKCharacterStream.
Diffstat (limited to 'MLKStringOutputStream.m')
-rw-r--r--MLKStringOutputStream.m21
1 files changed, 16 insertions, 5 deletions
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