/src/libgit2/src/util/errors.h
Line | Count | Source |
1 | | /* |
2 | | * Copyright (C) the libgit2 contributors. All rights reserved. |
3 | | * |
4 | | * This file is part of libgit2, distributed under the GNU GPL v2 with |
5 | | * a Linking Exception. For full terms see the included COPYING file. |
6 | | */ |
7 | | |
8 | | #ifndef INCLUDE_errors_h__ |
9 | | #define INCLUDE_errors_h__ |
10 | | |
11 | | #include "git2_util.h" |
12 | | #include "git2/sys/errors.h" |
13 | | |
14 | | /* Initialize the error thread-state. */ |
15 | | int git_error_global_init(void); |
16 | | |
17 | | /* |
18 | | * `vprintf`-style formatting for the error message for this thread. |
19 | | */ |
20 | | void git_error_vset(int error_class, const char *fmt, va_list ap); |
21 | | |
22 | | /** |
23 | | * Determines whether an error exists. |
24 | | */ |
25 | | bool git_error_exists(void); |
26 | | |
27 | | /** |
28 | | * Set error message for user callback if needed. |
29 | | * |
30 | | * If the error code in non-zero and no error message is set, this |
31 | | * sets a generic error message. |
32 | | * |
33 | | * @return This always returns the `error_code` parameter. |
34 | | */ |
35 | | GIT_INLINE(int) git_error_set_after_callback_function( |
36 | | int error_code, const char *action) |
37 | 0 | { |
38 | 0 | if (error_code) { |
39 | 0 | if (!git_error_exists()) |
40 | 0 | git_error_set(GIT_ERROR_CALLBACK, |
41 | 0 | "%s callback returned %d", action, error_code); |
42 | 0 | } |
43 | 0 | return error_code; |
44 | 0 | } Unexecuted instantiation: midx_fuzzer.c:git_error_set_after_callback_function Unexecuted instantiation: errors.c:git_error_set_after_callback_function Unexecuted instantiation: libgit2.c:git_error_set_after_callback_function Unexecuted instantiation: merge_driver.c:git_error_set_after_callback_function Unexecuted instantiation: merge_file.c:git_error_set_after_callback_function Unexecuted instantiation: midx.c:git_error_set_after_callback_function Unexecuted instantiation: mwindow.c:git_error_set_after_callback_function Unexecuted instantiation: odb.c:git_error_set_after_callback_function Unexecuted instantiation: odb_loose.c:git_error_set_after_callback_function Unexecuted instantiation: odb_pack.c:git_error_set_after_callback_function Unexecuted instantiation: oid.c:git_error_set_after_callback_function Unexecuted instantiation: pack.c:git_error_set_after_callback_function Unexecuted instantiation: repository.c:git_error_set_after_callback_function Unexecuted instantiation: revparse.c:git_error_set_after_callback_function Unexecuted instantiation: revwalk.c:git_error_set_after_callback_function Unexecuted instantiation: settings.c:git_error_set_after_callback_function Unexecuted instantiation: strarray.c:git_error_set_after_callback_function Unexecuted instantiation: mbedtls.c:git_error_set_after_callback_function Unexecuted instantiation: openssl.c:git_error_set_after_callback_function Unexecuted instantiation: registry.c:git_error_set_after_callback_function Unexecuted instantiation: socket.c:git_error_set_after_callback_function Unexecuted instantiation: submodule.c:git_error_set_after_callback_function Unexecuted instantiation: sysdir.c:git_error_set_after_callback_function Unexecuted instantiation: tag.c:git_error_set_after_callback_function Unexecuted instantiation: http.c:git_error_set_after_callback_function Unexecuted instantiation: httpclient.c:git_error_set_after_callback_function Unexecuted instantiation: smart_protocol.c:git_error_set_after_callback_function Unexecuted instantiation: ssh_libssh2.c:git_error_set_after_callback_function Unexecuted instantiation: tree.c:git_error_set_after_callback_function Unexecuted instantiation: worktree.c:git_error_set_after_callback_function Unexecuted instantiation: annotated_commit.c:git_error_set_after_callback_function Unexecuted instantiation: attr.c:git_error_set_after_callback_function Unexecuted instantiation: attr_file.c:git_error_set_after_callback_function Unexecuted instantiation: attrcache.c:git_error_set_after_callback_function Unexecuted instantiation: blob.c:git_error_set_after_callback_function Unexecuted instantiation: branch.c:git_error_set_after_callback_function Unexecuted instantiation: buf.c:git_error_set_after_callback_function Unexecuted instantiation: cache.c:git_error_set_after_callback_function Unexecuted instantiation: checkout.c:git_error_set_after_callback_function Unexecuted instantiation: clone.c:git_error_set_after_callback_function Unexecuted instantiation: commit.c:git_error_set_after_callback_function Unexecuted instantiation: commit_graph.c:git_error_set_after_callback_function Unexecuted instantiation: commit_list.c:git_error_set_after_callback_function Unexecuted instantiation: config.c:git_error_set_after_callback_function Unexecuted instantiation: config_cache.c:git_error_set_after_callback_function Unexecuted instantiation: config_file.c:git_error_set_after_callback_function Unexecuted instantiation: config_list.c:git_error_set_after_callback_function Unexecuted instantiation: config_parse.c:git_error_set_after_callback_function Unexecuted instantiation: config_snapshot.c:git_error_set_after_callback_function Unexecuted instantiation: delta.c:git_error_set_after_callback_function Unexecuted instantiation: diff.c:git_error_set_after_callback_function Unexecuted instantiation: diff_driver.c:git_error_set_after_callback_function Unexecuted instantiation: diff_generate.c:git_error_set_after_callback_function Unexecuted instantiation: diff_print.c:git_error_set_after_callback_function Unexecuted instantiation: diff_tform.c:git_error_set_after_callback_function Unexecuted instantiation: email.c:git_error_set_after_callback_function Unexecuted instantiation: filter.c:git_error_set_after_callback_function Unexecuted instantiation: grafts.c:git_error_set_after_callback_function Unexecuted instantiation: hashsig.c:git_error_set_after_callback_function Unexecuted instantiation: ident.c:git_error_set_after_callback_function Unexecuted instantiation: index.c:git_error_set_after_callback_function Unexecuted instantiation: index_map.c:git_error_set_after_callback_function Unexecuted instantiation: indexer.c:git_error_set_after_callback_function Unexecuted instantiation: iterator.c:git_error_set_after_callback_function Unexecuted instantiation: mailmap.c:git_error_set_after_callback_function Unexecuted instantiation: merge.c:git_error_set_after_callback_function Unexecuted instantiation: object.c:git_error_set_after_callback_function Unexecuted instantiation: object_api.c:git_error_set_after_callback_function Unexecuted instantiation: oidarray.c:git_error_set_after_callback_function Unexecuted instantiation: pack-objects.c:git_error_set_after_callback_function Unexecuted instantiation: parse.c:git_error_set_after_callback_function Unexecuted instantiation: patch.c:git_error_set_after_callback_function Unexecuted instantiation: patch_generate.c:git_error_set_after_callback_function Unexecuted instantiation: path.c:git_error_set_after_callback_function Unexecuted instantiation: pathspec.c:git_error_set_after_callback_function Unexecuted instantiation: push.c:git_error_set_after_callback_function Unexecuted instantiation: refdb.c:git_error_set_after_callback_function Unexecuted instantiation: refdb_fs.c:git_error_set_after_callback_function Unexecuted instantiation: reflog.c:git_error_set_after_callback_function Unexecuted instantiation: refs.c:git_error_set_after_callback_function Unexecuted instantiation: refspec.c:git_error_set_after_callback_function Unexecuted instantiation: remote.c:git_error_set_after_callback_function Unexecuted instantiation: signature.c:git_error_set_after_callback_function Unexecuted instantiation: tls.c:git_error_set_after_callback_function Unexecuted instantiation: trace.c:git_error_set_after_callback_function Unexecuted instantiation: transaction.c:git_error_set_after_callback_function Unexecuted instantiation: transport.c:git_error_set_after_callback_function Unexecuted instantiation: auth.c:git_error_set_after_callback_function Unexecuted instantiation: credential.c:git_error_set_after_callback_function Unexecuted instantiation: git.c:git_error_set_after_callback_function Unexecuted instantiation: local.c:git_error_set_after_callback_function Unexecuted instantiation: smart.c:git_error_set_after_callback_function Unexecuted instantiation: smart_pkt.c:git_error_set_after_callback_function Unexecuted instantiation: tree-cache.c:git_error_set_after_callback_function Unexecuted instantiation: crlf.c:git_error_set_after_callback_function Unexecuted instantiation: diff_file.c:git_error_set_after_callback_function Unexecuted instantiation: diff_stats.c:git_error_set_after_callback_function Unexecuted instantiation: diff_xdiff.c:git_error_set_after_callback_function Unexecuted instantiation: fetch.c:git_error_set_after_callback_function Unexecuted instantiation: fetchhead.c:git_error_set_after_callback_function Unexecuted instantiation: graph.c:git_error_set_after_callback_function Unexecuted instantiation: ignore.c:git_error_set_after_callback_function Unexecuted instantiation: proxy.c:git_error_set_after_callback_function |
45 | | |
46 | | #ifdef GIT_WIN32 |
47 | | #define git_error_set_after_callback(code) \ |
48 | | git_error_set_after_callback_function((code), __FUNCTION__) |
49 | | #else |
50 | | #define git_error_set_after_callback(code) \ |
51 | 0 | git_error_set_after_callback_function((code), __func__) |
52 | | #endif |
53 | | |
54 | | /** |
55 | | * Gets the system error code for this thread. |
56 | | */ |
57 | | int git_error_system_last(void); |
58 | | |
59 | | /** |
60 | | * Sets the system error code for this thread. |
61 | | */ |
62 | | void git_error_system_set(int code); |
63 | | |
64 | | /** |
65 | | * Capture current error state to restore later, returning error code. |
66 | | * If `error_code` is zero, this does not clear the current error state. |
67 | | * You must either restore this error state, or free it. |
68 | | * |
69 | | * This function returns 0 on success, or -1 on failure. If the function |
70 | | * fails, the `out` structure is set to the failure error message and |
71 | | * the normal system error message is not updated. |
72 | | */ |
73 | | extern int git_error_save(git_error **out); |
74 | | |
75 | | /** |
76 | | * Restore thread error state to the given value. The given value is |
77 | | * freed and `git_error_free` need not be called on it. |
78 | | */ |
79 | | extern int git_error_restore(git_error *error); |
80 | | |
81 | | /** Free an error state. */ |
82 | | extern void git_error_free(git_error *error); |
83 | | |
84 | | #endif |