Skip to content

Commit

Permalink
pass null pointers as-is to iOS SDK (fixes #2)
Browse files Browse the repository at this point in the history
  • Loading branch information
jgimenez committed Feb 6, 2025
1 parent cfe0f65 commit 760126d
Showing 1 changed file with 18 additions and 10 deletions.
28 changes: 18 additions & 10 deletions Runtime/Plugins/iOS/BugfenderBridge.mm
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
#import <Foundation/Foundation.h>
#import <BugfenderSDK/BugfenderSDK.h>

NSString* convertCStringToNSString(const char* s)
{
if(s == NULL) {
return nil;
}
return [NSString stringWithUTF8String:s];
}

char* convertNSStringToCString(const NSString* nsString)
{
if (nsString == NULL)
Expand All @@ -16,17 +24,17 @@

extern "C" {
void BugfenderActivateLogger(const char* key, bool printToConsole, bool hideDeviceName, const char* apiURL, const char* baseURL) {
NSString* apiURLString = [NSString stringWithUTF8String:apiURL];
NSString* apiURLString = convertCStringToNSString(apiURL);
if(apiURLString.length > 0) {
[Bugfender setApiURL:[NSURL URLWithString:apiURLString]];
}
NSString* baseURLString = [NSString stringWithUTF8String:baseURL];
NSString* baseURLString = convertCStringToNSString(baseURL);
if(baseURLString.length > 0) {
[Bugfender setBaseURL:[NSURL URLWithString:baseURLString]];
}
if(hideDeviceName)
[Bugfender overrideDeviceName:@"Unknown"];
[Bugfender activateLogger:[NSString stringWithUTF8String:key]];
[Bugfender activateLogger:convertCStringToNSString(key)];
[Bugfender setPrintToConsole:printToConsole];
}

Expand All @@ -39,29 +47,29 @@ void BugfenderEnableCrashReporting() {
}

void BugfenderSetDeviceString(const char* key, const char* value) {
[Bugfender setDeviceString:[NSString stringWithUTF8String:value] forKey:[NSString stringWithUTF8String:key]];
[Bugfender setDeviceString:convertCStringToNSString(value) forKey:convertCStringToNSString(key)];
}

void BugfenderRemoveDeviceKey(const char* key) {
[Bugfender removeDeviceKey:[NSString stringWithUTF8String:key]];
[Bugfender removeDeviceKey:convertCStringToNSString(key)];
}

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

char* BugfenderSendCrash(const char* title, const char* text) {
NSURL* url = [Bugfender sendCrashWithTitle:[NSString stringWithUTF8String:title] text:[NSString stringWithUTF8String:text]];
NSURL* url = [Bugfender sendCrashWithTitle:convertCStringToNSString(title) text:convertCStringToNSString(text)];
return convertNSStringToCString([url absoluteString]);
}

char* BugfenderSendIssue(const char* title, const char* markdown) {
NSURL* url = [Bugfender sendIssueReturningUrlWithTitle:[NSString stringWithUTF8String:title] text:[NSString stringWithUTF8String:markdown]];
char* BugfenderSendIssue(const char* title, const char* text) {
NSURL* url = [Bugfender sendIssueReturningUrlWithTitle:convertCStringToNSString(title) text:convertCStringToNSString(text)];
return convertNSStringToCString([url absoluteString]);
}

char* BugfenderSendUserFeedback(const char* subject, const char* message) {
NSURL* url = [Bugfender sendUserFeedbackReturningUrlWithSubject:[NSString stringWithUTF8String:subject] message:[NSString stringWithUTF8String:message]];
NSURL* url = [Bugfender sendUserFeedbackReturningUrlWithSubject:convertCStringToNSString(subject) message:convertCStringToNSString(message)];
return convertNSStringToCString([url absoluteString]);
}

Expand Down

0 comments on commit 760126d

Please sign in to comment.