make code more robust when there's no autorelease pool.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35706 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
rfm 2012-10-17 13:47:11 +00:00
parent 27c13ff71d
commit fcd6be710e
8 changed files with 88 additions and 73 deletions

View file

@ -721,7 +721,7 @@ static Class NSNullClass;
static Class NSNumberClass;
static Class NSStringClass;
static NSCharacterSet *escapeSet;
static NSMutableCharacterSet *escapeSet;
static inline void
writeTabs(NSMutableString *output, NSInteger tabs)
@ -902,10 +902,10 @@ writeObject(id obj, NSMutableString *output, NSInteger tabs)
NSStringClass = [NSString class];
NSDictionaryClass = [NSDictionary class];
NSNumberClass = [NSNumber class];
escapeSet
= [[NSCharacterSet characterSetWithCharactersInString: @"\"\\"] retain];
boolN = [[NSNumber numberWithBool: NO] retain];
boolY = [[NSNumber numberWithBool: YES] retain];
escapeSet = [NSMutableCharacterSet new];
[escapeSet addCharactersInString: @"\"\\"];
boolN = [[NSNumber alloc] initWithBool: NO];
boolY = [[NSNumber alloc] initWithBool: YES];
}
+ (NSData*) dataWithJSONObject: (id)obj