27#import <Foundation/NSData.h>
28#import <Foundation/NSFileManager.h>
29#import <Foundation/NSPropertyList.h>
31#if OOLITE_MODERN_BUILD
33@implementation NSUserDefaults (Override)
35- (BOOL) writeDictionary: (NSDictionary*)dict
36 toFile: (NSString*)file
38 if ([file length] == 0)
40 OOLog(
@"NSUserDefaultsOverride",
@"%@",
@"Defaults database filename is empty when writing");
44 NSFileManager *mgr = [NSFileManager defaultManager];
46 return [mgr removeFileAtPath: file handler: nil];
54 data = [NSPropertyListSerialization dataFromPropertyList: dict
55 format: NSPropertyListOpenStepFormat
56 errorDescription: &err];
59 OOLog(
@"NSUserDefaultsOverride",
@"Failed to serialize defaults database for writing: %@", err);
61 else if ([data writeToFile: file atomically: YES] == NO)
63 OOLog(
@"NSUserDefaultsOverride",
@"Failed to write defaults database to file: %@", file);
#define OOLog(class, format,...)