]> git.saurik.com Git - apple/security.git/blame - KeychainCircle/KCError.m
Security-57740.60.18.tar.gz
[apple/security.git] / KeychainCircle / KCError.m
CommitLineData
fa7225c8
A
1//
2// KCError.m
3// Security
4//
5//
6
7#import "KCError.h"
8
9static NSString* KCErrorDomain = @"com.apple.security.keychaincircle";
10
11
12@implementation NSError(KCJoiningError)
13
14+ (nonnull instancetype) errorWithJoiningError:(KCJoiningError) code
15 format:(NSString*) format
16 arguments:(va_list) va {
17 return [[NSError alloc] initWithJoiningError:code
18 userInfo:@{NSLocalizedDescriptionKey:[[NSString alloc] initWithFormat:format arguments:va]}];
19
20}
21
22+ (nonnull instancetype) errorWithJoiningError:(KCJoiningError) code
23 format:(NSString*) format, ... {
24
25 va_list va;
26 va_start(va, format);
27 NSError* result = [NSError errorWithJoiningError:code format:format arguments:va];
28 va_end(va);
29
30 return result;
31
32}
33- (nonnull instancetype) initWithJoiningError:(KCJoiningError) code
34 userInfo:(nonnull NSDictionary *)dict {
35 return [self initWithDomain:KCErrorDomain code:code userInfo:dict];
36}
37@end
38
39void KCJoiningErrorCreate(KCJoiningError code, NSError** error, NSString* format, ...) {
40 if (error && (*error == nil)) {
41 va_list va;
42 va_start(va, format);
43 *error = [NSError errorWithJoiningError:code format:format arguments:va];
44 va_end(va);
45 }
46}
47