view mupdf-source/thirdparty/zxing-cpp/wrappers/ios/Sources/Wrapper/ZXIErrors.mm @ 38:8934ac156ef5

Allow to build with the PyPI package "clang" instead of "libclang". 1. It seems to be maintained. 2. In the FreeBSD base system there is no pre-built libclang.so. If you need this library you have to install llvm from ports additionally. 2. On FreeBSD there is no pre-built wheel "libclang" with a packaged libclang.so.
author Franz Glasner <fzglas.hg@dom66.de>
date Tue, 23 Sep 2025 10:27:15 +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];
}