|
157 | 157 | NSString *default_key = [NSString stringWithUTF8String:key.c_str()];
|
158 | 158 |
|
159 | 159 | if (type == "string") {
|
160 |
| - NSString *ret = [defaults stringForKey:default_key]; |
161 |
| - return Napi::String::New(env, std::string([ret UTF8String])); |
| 160 | + NSString *s = [defaults stringForKey:default_key]; |
| 161 | + return Napi::String::New(env, s ? std::string([s UTF8String]) : ""); |
162 | 162 | } else if (type == "boolean") {
|
163 |
| - return Napi::Boolean::New(env, [defaults boolForKey:default_key]); |
| 163 | + bool b = [defaults boolForKey:default_key]; |
| 164 | + return Napi::Boolean::New(env, b ? b : false); |
164 | 165 | } else if (type == "float") {
|
165 |
| - return Napi::Number::New(env, [defaults floatForKey:default_key]); |
| 166 | + float f = [defaults floatForKey:default_key]; |
| 167 | + return Napi::Number::New(env, f ? f : 0); |
166 | 168 | } else if (type == "integer") {
|
167 |
| - return Napi::Number::New(env, [defaults integerForKey:default_key]); |
| 169 | + int i = [defaults integerForKey:default_key]; |
| 170 | + return Napi::Number::New(env, i ? i : 0); |
168 | 171 | } else if (type == "double") {
|
169 |
| - return Napi::Number::New(env, [defaults doubleForKey:default_key]); |
| 172 | + double d = [defaults doubleForKey:default_key]; |
| 173 | + return Napi::Number::New(env, d ? d : 0); |
170 | 174 | } else if (type == "url") {
|
171 |
| - NSString *url_string = [[defaults URLForKey:default_key] absoluteString]; |
172 |
| - return Napi::String::New(env, std::string([url_string UTF8String])); |
| 175 | + NSString *u = [[defaults URLForKey:default_key] absoluteString]; |
| 176 | + return Napi::String::New(env, u ? std::string([u UTF8String]) : ""); |
173 | 177 | } else if (type == "array") {
|
174 | 178 | NSArray *array = [defaults arrayForKey:default_key];
|
175 | 179 | return NSArrayToNapiArray(env, array);
|
|
0 commit comments