Skip to content

Commit 5f42614

Browse files
authored
Merge pull request #9 from bugfender/bugfix/pass-nulls-to-ios-sdk
pass null pointers as-is to iOS SDK (fixes #2)
2 parents 7f5c457 + 760126d commit 5f42614

1 file changed

Lines changed: 18 additions & 10 deletions

File tree

Runtime/Plugins/iOS/BugfenderBridge.mm

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
#import <Foundation/Foundation.h>
22
#import <BugfenderSDK/BugfenderSDK.h>
33

4+
NSString* convertCStringToNSString(const char* s)
5+
{
6+
if(s == NULL) {
7+
return nil;
8+
}
9+
return [NSString stringWithUTF8String:s];
10+
}
11+
412
char* convertNSStringToCString(const NSString* nsString)
513
{
614
if (nsString == NULL)
@@ -16,17 +24,17 @@
1624

1725
extern "C" {
1826
void BugfenderActivateLogger(const char* key, bool printToConsole, bool hideDeviceName, const char* apiURL, const char* baseURL) {
19-
NSString* apiURLString = [NSString stringWithUTF8String:apiURL];
27+
NSString* apiURLString = convertCStringToNSString(apiURL);
2028
if(apiURLString.length > 0) {
2129
[Bugfender setApiURL:[NSURL URLWithString:apiURLString]];
2230
}
23-
NSString* baseURLString = [NSString stringWithUTF8String:baseURL];
31+
NSString* baseURLString = convertCStringToNSString(baseURL);
2432
if(baseURLString.length > 0) {
2533
[Bugfender setBaseURL:[NSURL URLWithString:baseURLString]];
2634
}
2735
if(hideDeviceName)
2836
[Bugfender overrideDeviceName:@"Unknown"];
29-
[Bugfender activateLogger:[NSString stringWithUTF8String:key]];
37+
[Bugfender activateLogger:convertCStringToNSString(key)];
3038
[Bugfender setPrintToConsole:printToConsole];
3139
}
3240

@@ -39,29 +47,29 @@ void BugfenderEnableCrashReporting() {
3947
}
4048

4149
void BugfenderSetDeviceString(const char* key, const char* value) {
42-
[Bugfender setDeviceString:[NSString stringWithUTF8String:value] forKey:[NSString stringWithUTF8String:key]];
50+
[Bugfender setDeviceString:convertCStringToNSString(value) forKey:convertCStringToNSString(key)];
4351
}
4452

4553
void BugfenderRemoveDeviceKey(const char* key) {
46-
[Bugfender removeDeviceKey:[NSString stringWithUTF8String:key]];
54+
[Bugfender removeDeviceKey:convertCStringToNSString(key)];
4755
}
4856

4957
void BugfenderLog(int logLevel, const char* tag, const char* message) {
50-
[Bugfender logWithLineNumber:0 method:@"" file:@"" level:(BFLogLevel)logLevel tag:[NSString stringWithUTF8String:tag] message:[NSString stringWithUTF8String:message]];
58+
[Bugfender logWithLineNumber:0 method:@"" file:@"" level:(BFLogLevel)logLevel tag:convertCStringToNSString(tag) message:convertCStringToNSString(message)];
5159
}
5260

5361
char* BugfenderSendCrash(const char* title, const char* text) {
54-
NSURL* url = [Bugfender sendCrashWithTitle:[NSString stringWithUTF8String:title] text:[NSString stringWithUTF8String:text]];
62+
NSURL* url = [Bugfender sendCrashWithTitle:convertCStringToNSString(title) text:convertCStringToNSString(text)];
5563
return convertNSStringToCString([url absoluteString]);
5664
}
5765

58-
char* BugfenderSendIssue(const char* title, const char* markdown) {
59-
NSURL* url = [Bugfender sendIssueReturningUrlWithTitle:[NSString stringWithUTF8String:title] text:[NSString stringWithUTF8String:markdown]];
66+
char* BugfenderSendIssue(const char* title, const char* text) {
67+
NSURL* url = [Bugfender sendIssueReturningUrlWithTitle:convertCStringToNSString(title) text:convertCStringToNSString(text)];
6068
return convertNSStringToCString([url absoluteString]);
6169
}
6270

6371
char* BugfenderSendUserFeedback(const char* subject, const char* message) {
64-
NSURL* url = [Bugfender sendUserFeedbackReturningUrlWithSubject:[NSString stringWithUTF8String:subject] message:[NSString stringWithUTF8String:message]];
72+
NSURL* url = [Bugfender sendUserFeedbackReturningUrlWithSubject:convertCStringToNSString(subject) message:convertCStringToNSString(message)];
6573
return convertNSStringToCString([url absoluteString]);
6674
}
6775

0 commit comments

Comments
 (0)