Coverage Report

Created: 2026-02-26 06:33

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/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