view mupdf-source/thirdparty/zxing-cpp/wrappers/ios/Sources/Wrapper/ZXIErrors.mm @ 31:baeb8bdeff3a

Fortify sources using _FORTIFY_SOURCE=3 and also apply -fno-delete-null-pointer-checks. See: https://github.com/ossf/wg-best-practices-os-developers/issues/659.
author Franz Glasner <fzglas.hg@dom66.de>
date Sun, 21 Sep 2025 13:11:30 +0200
parents b50eed0cc0ef
children
line wrap: on
line source

// Copyright 2023 KURZ Digital Solutions GmbH
//
// SPDX-License-Identifier: Apache-2.0

#import "ZXIErrors.h"

void SetNSError(NSError *__autoreleasing _Nullable* error,
                NSInteger code,
                const char* message) {
    if (error == nil) {
        return;
    }
    NSString *errorDescription = @"Unknown C++ error";
    if (message && strlen(message) > 0) {
        errorDescription = [NSString stringWithUTF8String: message];
        if (errorDescription == nil) {
            errorDescription = [NSString stringWithCString: message
                                                  encoding: NSASCIIStringEncoding];
        }
    }
    NSDictionary *userInfo = @{ NSLocalizedDescriptionKey: errorDescription };
    *error = [NSError errorWithDomain:ZXIErrorDomain
                                 code:code
                             userInfo:userInfo];
}