From b70c3796a1f8752e0001701546f55a0d5feaf152 Mon Sep 17 00:00:00 2001 From: Patrick de Visschere Date: Sun, 8 Sep 2019 11:11:00 +0200 Subject: [PATCH] #6961 correct the big-endian conversion of UInt32 This is a patch from Patrick de Visschere. Thanks. --- src/support/linkback/LinkBackProxy.m | 4 ++-- src/support/linkback/LinkBackServer.m | 15 ++++++++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/support/linkback/LinkBackProxy.m b/src/support/linkback/LinkBackProxy.m index bf150c9ad6..574d5713cf 100644 --- a/src/support/linkback/LinkBackProxy.m +++ b/src/support/linkback/LinkBackProxy.m @@ -65,7 +65,7 @@ // The pdf data length are the last 4 bytes. UInt32 pdfLen = 0; pdfLen = *(UInt32 const *)(((UInt8 const *)[data bytes]) + [data length] - 4); - pdfLen = NSSwapBigLongToHost(pdfLen); // make it big endian + pdfLen = NSSwapBigIntToHost(pdfLen); // make it big endian if (pdfLen >= [data length] - 4) { NSLog(@"Invalid file %@ for LinkBack", fileName); return NO; @@ -154,7 +154,7 @@ [file writeData:pdfData]; [file writeData:linkBackData]; - UInt32 pdfLen = NSSwapHostLongToBig([pdfData length]); // big endian + UInt32 pdfLen = NSSwapHostIntToBig([pdfData length]); // big endian NSData * lenData = [NSData dataWithBytes:&pdfLen length:4]; [file writeData:lenData]; [file closeFile]; diff --git a/src/support/linkback/LinkBackServer.m b/src/support/linkback/LinkBackServer.m index dc8708d66d..d089fca771 100644 --- a/src/support/linkback/LinkBackServer.m +++ b/src/support/linkback/LinkBackServer.m @@ -154,7 +154,6 @@ NSString* FindLinkBackServer(NSString* bundleIdentifier, NSString* serverName, N void LinkBackRunAppNotFoundPanel(NSString* appName, NSURL* url) { - int result ; // strings for panel NSBundle* b = [NSBundle bundleForClass: [LinkBack class]] ; @@ -172,10 +171,16 @@ void LinkBackRunAppNotFoundPanel(NSString* appName, NSURL* url) title = [NSString stringWithFormat: title, appName] ; - result = NSRunCriticalAlertPanel(title, @"%@", ok, urlstr, nil, msg) ; - if (NSAlertAlternateReturn == result) { - [[NSWorkspace sharedWorkspace] openURL: url] ; - } + NSAlert* alert = [[NSAlert alloc] init]; + [alert setAlertStyle:NSAlertStyleCritical]; + [alert setMessageText:title]; + [alert setInformativeText:[NSString stringWithFormat:@"%@", msg]]; + [alert addButtonWithTitle:ok]; + [alert addButtonWithTitle:urlstr]; + [alert beginSheetModalForWindow:[NSApp mainWindow] completionHandler:^(NSModalResponse returnCode) { + if (returnCode == NSAlertSecondButtonReturn) + [[NSWorkspace sharedWorkspace] openURL: url] ; + }]; } + (LinkBackServer*)LinkBackServerWithName:(NSString*)aName inApplication:(NSString*)bundleIdentifier launchIfNeeded:(BOOL)flag fallbackURL:(NSURL*)url appName:(NSString*)appName -- 2.39.2