Coverage Report

Created: 2025-07-18 06:12

/src/libgit2/src/util/str.h
Line
Count
Source (jump to first uncovered line)
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
#ifndef INCLUDE_str_h__
8
#define INCLUDE_str_h__
9
10
#include "git2_util.h"
11
12
struct git_str {
13
  char *ptr;
14
  size_t asize;
15
  size_t size;
16
};
17
18
typedef enum {
19
  GIT_STR_BOM_NONE = 0,
20
  GIT_STR_BOM_UTF8 = 1,
21
  GIT_STR_BOM_UTF16_LE = 2,
22
  GIT_STR_BOM_UTF16_BE = 3,
23
  GIT_STR_BOM_UTF32_LE = 4,
24
  GIT_STR_BOM_UTF32_BE = 5
25
} git_str_bom_t;
26
27
typedef struct {
28
  git_str_bom_t bom; /* BOM found at head of text */
29
  unsigned int nul, cr, lf, crlf; /* NUL, CR, LF and CRLF counts */
30
  unsigned int printable, nonprintable; /* These are just approximations! */
31
} git_str_text_stats;
32
33
extern char git_str__initstr[];
34
extern char git_str__oom[];
35
36
/* Use to initialize string buffer structure when git_str is on stack */
37
6.10k
#define GIT_STR_INIT { git_str__initstr, 0, 0 }
38
39
/**
40
 * Static initializer for git_str from static string buffer
41
 */
42
0
#define GIT_STR_INIT_CONST(str, len) { (char *)(str), 0, (size_t)(len) }
43
44
GIT_INLINE(bool) git_str_is_allocated(const git_str *str)
45
0
{
46
0
  return (str->ptr != NULL && str->asize > 0);
47
0
}
Unexecuted instantiation: patch_parse_fuzzer.c:git_str_is_allocated
Unexecuted instantiation: fuzzer_utils.c:git_str_is_allocated
Unexecuted instantiation: errors.c:git_str_is_allocated
Unexecuted instantiation: runtime.c:git_str_is_allocated
Unexecuted instantiation: str.c:git_str_is_allocated
Unexecuted instantiation: thread.c:git_str_is_allocated
Unexecuted instantiation: util.c:git_str_is_allocated
Unexecuted instantiation: libgit2.c:git_str_is_allocated
Unexecuted instantiation: merge_driver.c:git_str_is_allocated
Unexecuted instantiation: merge_file.c:git_str_is_allocated
Unexecuted instantiation: mwindow.c:git_str_is_allocated
Unexecuted instantiation: odb.c:git_str_is_allocated
Unexecuted instantiation: odb_loose.c:git_str_is_allocated
Unexecuted instantiation: odb_pack.c:git_str_is_allocated
Unexecuted instantiation: oid.c:git_str_is_allocated
Unexecuted instantiation: pack.c:git_str_is_allocated
Unexecuted instantiation: patch.c:git_str_is_allocated
Unexecuted instantiation: patch_parse.c:git_str_is_allocated
Unexecuted instantiation: repository.c:git_str_is_allocated
Unexecuted instantiation: revparse.c:git_str_is_allocated
Unexecuted instantiation: revwalk.c:git_str_is_allocated
Unexecuted instantiation: settings.c:git_str_is_allocated
Unexecuted instantiation: strarray.c:git_str_is_allocated
Unexecuted instantiation: mbedtls.c:git_str_is_allocated
Unexecuted instantiation: openssl.c:git_str_is_allocated
Unexecuted instantiation: registry.c:git_str_is_allocated
Unexecuted instantiation: socket.c:git_str_is_allocated
Unexecuted instantiation: submodule.c:git_str_is_allocated
Unexecuted instantiation: sysdir.c:git_str_is_allocated
Unexecuted instantiation: tag.c:git_str_is_allocated
Unexecuted instantiation: http.c:git_str_is_allocated
Unexecuted instantiation: httpclient.c:git_str_is_allocated
Unexecuted instantiation: httpparser.c:git_str_is_allocated
Unexecuted instantiation: smart_protocol.c:git_str_is_allocated
Unexecuted instantiation: ssh_libssh2.c:git_str_is_allocated
Unexecuted instantiation: tree.c:git_str_is_allocated
Unexecuted instantiation: worktree.c:git_str_is_allocated
Unexecuted instantiation: alloc.c:git_str_is_allocated
Unexecuted instantiation: failalloc.c:git_str_is_allocated
Unexecuted instantiation: stdalloc.c:git_str_is_allocated
Unexecuted instantiation: date.c:git_str_is_allocated
Unexecuted instantiation: filebuf.c:git_str_is_allocated
Unexecuted instantiation: fs_path.c:git_str_is_allocated
Unexecuted instantiation: futils.c:git_str_is_allocated
Unexecuted instantiation: hash.c:git_str_is_allocated
Unexecuted instantiation: net.c:git_str_is_allocated
Unexecuted instantiation: pool.c:git_str_is_allocated
Unexecuted instantiation: posix.c:git_str_is_allocated
Unexecuted instantiation: pqueue.c:git_str_is_allocated
Unexecuted instantiation: rand.c:git_str_is_allocated
Unexecuted instantiation: regexp.c:git_str_is_allocated
Unexecuted instantiation: vector.c:git_str_is_allocated
Unexecuted instantiation: wildmatch.c:git_str_is_allocated
Unexecuted instantiation: zstream.c:git_str_is_allocated
Unexecuted instantiation: map.c:git_str_is_allocated
Unexecuted instantiation: realpath.c:git_str_is_allocated
Unexecuted instantiation: collisiondetect.c:git_str_is_allocated
Unexecuted instantiation: sha1.c:git_str_is_allocated
Unexecuted instantiation: ubc_check.c:git_str_is_allocated
Unexecuted instantiation: builtin.c:git_str_is_allocated
Unexecuted instantiation: annotated_commit.c:git_str_is_allocated
Unexecuted instantiation: attr.c:git_str_is_allocated
Unexecuted instantiation: attr_file.c:git_str_is_allocated
Unexecuted instantiation: attrcache.c:git_str_is_allocated
Unexecuted instantiation: blob.c:git_str_is_allocated
Unexecuted instantiation: branch.c:git_str_is_allocated
Unexecuted instantiation: buf.c:git_str_is_allocated
Unexecuted instantiation: cache.c:git_str_is_allocated
Unexecuted instantiation: checkout.c:git_str_is_allocated
Unexecuted instantiation: clone.c:git_str_is_allocated
Unexecuted instantiation: commit.c:git_str_is_allocated
Unexecuted instantiation: commit_graph.c:git_str_is_allocated
Unexecuted instantiation: commit_list.c:git_str_is_allocated
Unexecuted instantiation: config.c:git_str_is_allocated
Unexecuted instantiation: config_cache.c:git_str_is_allocated
Unexecuted instantiation: config_file.c:git_str_is_allocated
Unexecuted instantiation: config_list.c:git_str_is_allocated
Unexecuted instantiation: config_parse.c:git_str_is_allocated
Unexecuted instantiation: config_snapshot.c:git_str_is_allocated
Unexecuted instantiation: delta.c:git_str_is_allocated
Unexecuted instantiation: diff.c:git_str_is_allocated
Unexecuted instantiation: diff_driver.c:git_str_is_allocated
Unexecuted instantiation: diff_generate.c:git_str_is_allocated
Unexecuted instantiation: diff_print.c:git_str_is_allocated
Unexecuted instantiation: diff_tform.c:git_str_is_allocated
Unexecuted instantiation: email.c:git_str_is_allocated
Unexecuted instantiation: filter.c:git_str_is_allocated
Unexecuted instantiation: grafts.c:git_str_is_allocated
Unexecuted instantiation: hashsig.c:git_str_is_allocated
Unexecuted instantiation: ident.c:git_str_is_allocated
Unexecuted instantiation: index.c:git_str_is_allocated
Unexecuted instantiation: index_map.c:git_str_is_allocated
Unexecuted instantiation: indexer.c:git_str_is_allocated
Unexecuted instantiation: iterator.c:git_str_is_allocated
Unexecuted instantiation: mailmap.c:git_str_is_allocated
Unexecuted instantiation: merge.c:git_str_is_allocated
Unexecuted instantiation: midx.c:git_str_is_allocated
Unexecuted instantiation: object.c:git_str_is_allocated
Unexecuted instantiation: object_api.c:git_str_is_allocated
Unexecuted instantiation: oidarray.c:git_str_is_allocated
Unexecuted instantiation: pack-objects.c:git_str_is_allocated
Unexecuted instantiation: parse.c:git_str_is_allocated
Unexecuted instantiation: patch_generate.c:git_str_is_allocated
Unexecuted instantiation: path.c:git_str_is_allocated
Unexecuted instantiation: pathspec.c:git_str_is_allocated
Unexecuted instantiation: push.c:git_str_is_allocated
Unexecuted instantiation: refdb.c:git_str_is_allocated
Unexecuted instantiation: refdb_fs.c:git_str_is_allocated
Unexecuted instantiation: reflog.c:git_str_is_allocated
Unexecuted instantiation: refs.c:git_str_is_allocated
Unexecuted instantiation: refspec.c:git_str_is_allocated
Unexecuted instantiation: remote.c:git_str_is_allocated
Unexecuted instantiation: signature.c:git_str_is_allocated
Unexecuted instantiation: tls.c:git_str_is_allocated
Unexecuted instantiation: trace.c:git_str_is_allocated
Unexecuted instantiation: transaction.c:git_str_is_allocated
Unexecuted instantiation: transport.c:git_str_is_allocated
Unexecuted instantiation: auth.c:git_str_is_allocated
Unexecuted instantiation: credential.c:git_str_is_allocated
Unexecuted instantiation: git.c:git_str_is_allocated
Unexecuted instantiation: local.c:git_str_is_allocated
Unexecuted instantiation: smart.c:git_str_is_allocated
Unexecuted instantiation: smart_pkt.c:git_str_is_allocated
Unexecuted instantiation: tree-cache.c:git_str_is_allocated
Unexecuted instantiation: sortedcache.c:git_str_is_allocated
Unexecuted instantiation: tsort.c:git_str_is_allocated
Unexecuted instantiation: utf8.c:git_str_is_allocated
Unexecuted instantiation: varint.c:git_str_is_allocated
Unexecuted instantiation: crlf.c:git_str_is_allocated
Unexecuted instantiation: diff_file.c:git_str_is_allocated
Unexecuted instantiation: diff_stats.c:git_str_is_allocated
Unexecuted instantiation: diff_xdiff.c:git_str_is_allocated
Unexecuted instantiation: fetch.c:git_str_is_allocated
Unexecuted instantiation: fetchhead.c:git_str_is_allocated
Unexecuted instantiation: graph.c:git_str_is_allocated
Unexecuted instantiation: ignore.c:git_str_is_allocated
Unexecuted instantiation: proxy.c:git_str_is_allocated
48
49
/**
50
 * Initialize a git_str structure.
51
 *
52
 * For the cases where GIT_STR_INIT cannot be used to do static
53
 * initialization.
54
 */
55
extern int git_str_init(git_str *str, size_t initial_size);
56
57
extern void git_str_dispose(git_str *str);
58
59
/**
60
 * Resize the string buffer allocation to make more space.
61
 *
62
 * This will attempt to grow the string buffer to accommodate the target
63
 * size.  The bstring buffer's `ptr` will be replaced with a newly
64
 * allocated block of data.  Be careful so that memory allocated by the
65
 * caller is not lost.  As a special variant, if you pass `target_size` as
66
 * 0 and the memory is not allocated by libgit2, this will allocate a new
67
 * buffer of size `size` and copy the external data into it.
68
 *
69
 * Currently, this will never shrink a buffer, only expand it.
70
 *
71
 * If the allocation fails, this will return an error and the buffer will be
72
 * marked as invalid for future operations, invaliding the contents.
73
 *
74
 * @param str The buffer to be resized; may or may not be allocated yet
75
 * @param target_size The desired available size
76
 * @return 0 on success, -1 on allocation failure
77
 */
78
int git_str_grow(git_str *str, size_t target_size);
79
80
/**
81
 * Resize the buffer allocation to make more space.
82
 *
83
 * This will attempt to grow the string buffer to accommodate the
84
 * additional size.  It is similar to `git_str_grow`, but performs the
85
 * new size calculation, checking for overflow.
86
 *
87
 * Like `git_str_grow`, if this is a user-supplied string buffer,
88
 * this will allocate a new string uffer.
89
 */
90
extern int git_str_grow_by(git_str *str, size_t additional_size);
91
92
/**
93
 * Attempt to grow the buffer to hold at least `target_size` bytes.
94
 *
95
 * If the allocation fails, this will return an error.  If `mark_oom` is
96
 * true, this will mark the string buffer as invalid for future
97
 * operations; if false, existing string buffer content will be preserved,
98
 * but calling code must handle that string buffer was not expanded.  If
99
 * `preserve_external` is true, then any existing data pointed to be
100
 * `ptr` even if `asize` is zero will be copied into the newly allocated
101
 * string buffer.
102
 */
103
extern int git_str_try_grow(
104
  git_str *str, size_t target_size, bool mark_oom);
105
106
extern void git_str_swap(git_str *str_a, git_str *str_b);
107
extern char *git_str_detach(git_str *str);
108
extern int git_str_attach(git_str *str, char *ptr, size_t asize);
109
110
/* Populates a `git_str` where the contents are not "owned" by the string
111
 * buffer, and calls to `git_str_dispose` will not free the given str.
112
 */
113
extern void git_str_attach_notowned(
114
  git_str *str, const char *ptr, size_t size);
115
116
/**
117
 * Test if there have been any reallocation failures with this git_str.
118
 *
119
 * Any function that writes to a git_str can fail due to memory allocation
120
 * issues.  If one fails, the git_str will be marked with an OOM error and
121
 * further calls to modify the string buffer will fail.  Check
122
 * git_str_oom() at the end of your sequence and it will be true if you
123
 * ran out of memory at any point with that string buffer.
124
 *
125
 * @return false if no error, true if allocation error
126
 */
127
GIT_INLINE(bool) git_str_oom(const git_str *str)
128
23.8k
{
129
23.8k
  return (str->ptr == git_str__oom);
130
23.8k
}
Unexecuted instantiation: patch_parse_fuzzer.c:git_str_oom
Unexecuted instantiation: fuzzer_utils.c:git_str_oom
errors.c:git_str_oom
Line
Count
Source
128
23.8k
{
129
23.8k
  return (str->ptr == git_str__oom);
130
23.8k
}
Unexecuted instantiation: runtime.c:git_str_oom
Unexecuted instantiation: str.c:git_str_oom
Unexecuted instantiation: thread.c:git_str_oom
Unexecuted instantiation: util.c:git_str_oom
Unexecuted instantiation: libgit2.c:git_str_oom
Unexecuted instantiation: merge_driver.c:git_str_oom
Unexecuted instantiation: merge_file.c:git_str_oom
Unexecuted instantiation: mwindow.c:git_str_oom
Unexecuted instantiation: odb.c:git_str_oom
Unexecuted instantiation: odb_loose.c:git_str_oom
Unexecuted instantiation: odb_pack.c:git_str_oom
Unexecuted instantiation: oid.c:git_str_oom
Unexecuted instantiation: pack.c:git_str_oom
Unexecuted instantiation: patch.c:git_str_oom
Unexecuted instantiation: patch_parse.c:git_str_oom
Unexecuted instantiation: repository.c:git_str_oom
Unexecuted instantiation: revparse.c:git_str_oom
Unexecuted instantiation: revwalk.c:git_str_oom
Unexecuted instantiation: settings.c:git_str_oom
Unexecuted instantiation: strarray.c:git_str_oom
Unexecuted instantiation: mbedtls.c:git_str_oom
Unexecuted instantiation: openssl.c:git_str_oom
Unexecuted instantiation: registry.c:git_str_oom
Unexecuted instantiation: socket.c:git_str_oom
Unexecuted instantiation: submodule.c:git_str_oom
Unexecuted instantiation: sysdir.c:git_str_oom
Unexecuted instantiation: tag.c:git_str_oom
Unexecuted instantiation: http.c:git_str_oom
Unexecuted instantiation: httpclient.c:git_str_oom
Unexecuted instantiation: httpparser.c:git_str_oom
Unexecuted instantiation: smart_protocol.c:git_str_oom
Unexecuted instantiation: ssh_libssh2.c:git_str_oom
Unexecuted instantiation: tree.c:git_str_oom
Unexecuted instantiation: worktree.c:git_str_oom
Unexecuted instantiation: alloc.c:git_str_oom
Unexecuted instantiation: failalloc.c:git_str_oom
Unexecuted instantiation: stdalloc.c:git_str_oom
Unexecuted instantiation: date.c:git_str_oom
Unexecuted instantiation: filebuf.c:git_str_oom
Unexecuted instantiation: fs_path.c:git_str_oom
Unexecuted instantiation: futils.c:git_str_oom
Unexecuted instantiation: hash.c:git_str_oom
Unexecuted instantiation: net.c:git_str_oom
Unexecuted instantiation: pool.c:git_str_oom
Unexecuted instantiation: posix.c:git_str_oom
Unexecuted instantiation: pqueue.c:git_str_oom
Unexecuted instantiation: rand.c:git_str_oom
Unexecuted instantiation: regexp.c:git_str_oom
Unexecuted instantiation: vector.c:git_str_oom
Unexecuted instantiation: wildmatch.c:git_str_oom
Unexecuted instantiation: zstream.c:git_str_oom
Unexecuted instantiation: map.c:git_str_oom
Unexecuted instantiation: realpath.c:git_str_oom
Unexecuted instantiation: collisiondetect.c:git_str_oom
Unexecuted instantiation: sha1.c:git_str_oom
Unexecuted instantiation: ubc_check.c:git_str_oom
Unexecuted instantiation: builtin.c:git_str_oom
Unexecuted instantiation: annotated_commit.c:git_str_oom
Unexecuted instantiation: attr.c:git_str_oom
Unexecuted instantiation: attr_file.c:git_str_oom
Unexecuted instantiation: attrcache.c:git_str_oom
Unexecuted instantiation: blob.c:git_str_oom
Unexecuted instantiation: branch.c:git_str_oom
Unexecuted instantiation: buf.c:git_str_oom
Unexecuted instantiation: cache.c:git_str_oom
Unexecuted instantiation: checkout.c:git_str_oom
Unexecuted instantiation: clone.c:git_str_oom
Unexecuted instantiation: commit.c:git_str_oom
Unexecuted instantiation: commit_graph.c:git_str_oom
Unexecuted instantiation: commit_list.c:git_str_oom
Unexecuted instantiation: config.c:git_str_oom
Unexecuted instantiation: config_cache.c:git_str_oom
Unexecuted instantiation: config_file.c:git_str_oom
Unexecuted instantiation: config_list.c:git_str_oom
Unexecuted instantiation: config_parse.c:git_str_oom
Unexecuted instantiation: config_snapshot.c:git_str_oom
Unexecuted instantiation: delta.c:git_str_oom
Unexecuted instantiation: diff.c:git_str_oom
Unexecuted instantiation: diff_driver.c:git_str_oom
Unexecuted instantiation: diff_generate.c:git_str_oom
Unexecuted instantiation: diff_print.c:git_str_oom
Unexecuted instantiation: diff_tform.c:git_str_oom
Unexecuted instantiation: email.c:git_str_oom
Unexecuted instantiation: filter.c:git_str_oom
Unexecuted instantiation: grafts.c:git_str_oom
Unexecuted instantiation: hashsig.c:git_str_oom
Unexecuted instantiation: ident.c:git_str_oom
Unexecuted instantiation: index.c:git_str_oom
Unexecuted instantiation: index_map.c:git_str_oom
Unexecuted instantiation: indexer.c:git_str_oom
Unexecuted instantiation: iterator.c:git_str_oom
Unexecuted instantiation: mailmap.c:git_str_oom
Unexecuted instantiation: merge.c:git_str_oom
Unexecuted instantiation: midx.c:git_str_oom
Unexecuted instantiation: object.c:git_str_oom
Unexecuted instantiation: object_api.c:git_str_oom
Unexecuted instantiation: oidarray.c:git_str_oom
Unexecuted instantiation: pack-objects.c:git_str_oom
Unexecuted instantiation: parse.c:git_str_oom
Unexecuted instantiation: patch_generate.c:git_str_oom
Unexecuted instantiation: path.c:git_str_oom
Unexecuted instantiation: pathspec.c:git_str_oom
Unexecuted instantiation: push.c:git_str_oom
Unexecuted instantiation: refdb.c:git_str_oom
Unexecuted instantiation: refdb_fs.c:git_str_oom
Unexecuted instantiation: reflog.c:git_str_oom
Unexecuted instantiation: refs.c:git_str_oom
Unexecuted instantiation: refspec.c:git_str_oom
Unexecuted instantiation: remote.c:git_str_oom
Unexecuted instantiation: signature.c:git_str_oom
Unexecuted instantiation: tls.c:git_str_oom
Unexecuted instantiation: trace.c:git_str_oom
Unexecuted instantiation: transaction.c:git_str_oom
Unexecuted instantiation: transport.c:git_str_oom
Unexecuted instantiation: auth.c:git_str_oom
Unexecuted instantiation: credential.c:git_str_oom
Unexecuted instantiation: git.c:git_str_oom
Unexecuted instantiation: local.c:git_str_oom
Unexecuted instantiation: smart.c:git_str_oom
Unexecuted instantiation: smart_pkt.c:git_str_oom
Unexecuted instantiation: tree-cache.c:git_str_oom
Unexecuted instantiation: sortedcache.c:git_str_oom
Unexecuted instantiation: tsort.c:git_str_oom
Unexecuted instantiation: utf8.c:git_str_oom
Unexecuted instantiation: varint.c:git_str_oom
Unexecuted instantiation: crlf.c:git_str_oom
Unexecuted instantiation: diff_file.c:git_str_oom
Unexecuted instantiation: diff_stats.c:git_str_oom
Unexecuted instantiation: diff_xdiff.c:git_str_oom
Unexecuted instantiation: fetch.c:git_str_oom
Unexecuted instantiation: fetchhead.c:git_str_oom
Unexecuted instantiation: graph.c:git_str_oom
Unexecuted instantiation: ignore.c:git_str_oom
Unexecuted instantiation: proxy.c:git_str_oom
131
132
/*
133
 * Functions below that return int value error codes will return 0 on
134
 * success or -1 on failure (which generally means an allocation failed).
135
 * Using a git_str where the allocation has failed with result in -1 from
136
 * all further calls using that string buffer.  As a result, you can
137
 * ignore the return code of these functions and call them in a series
138
 * then just call git_str_oom at the end.
139
 */
140
141
int git_str_set(git_str *str, const void *data, size_t datalen);
142
143
int git_str_sets(git_str *str, const char *string);
144
int git_str_putc(git_str *str, char c);
145
int git_str_putcn(git_str *str, char c, size_t len);
146
int git_str_put(git_str *str, const char *data, size_t len);
147
int git_str_puts(git_str *str, const char *string);
148
int git_str_printf(git_str *str, const char *format, ...) GIT_FORMAT_PRINTF(2, 3);
149
int git_str_vprintf(git_str *str, const char *format, va_list ap);
150
void git_str_clear(git_str *str);
151
void git_str_consume_bytes(git_str *str, size_t len);
152
void git_str_consume(git_str *str, const char *end);
153
void git_str_truncate(git_str *str, size_t len);
154
void git_str_shorten(git_str *str, size_t amount);
155
void git_str_truncate_at_char(git_str *path, char separator);
156
void git_str_rtruncate_at_char(git_str *path, char separator);
157
158
/** General join with separator */
159
int git_str_join_n(git_str *str, char separator, int len, ...);
160
/** Fast join of two strings - first may legally point into `str` data */
161
int git_str_join(git_str *str, char separator, const char *str_a, const char *str_b);
162
/** Fast join of three strings - cannot reference `str` data */
163
int git_str_join3(git_str *str, char separator, const char *str_a, const char *str_b, const char *str_c);
164
165
/**
166
 * Join two strings as paths, inserting a slash between as needed.
167
 * @return 0 on success, -1 on failure
168
 */
169
GIT_INLINE(int) git_str_joinpath(git_str *str, const char *a, const char *b)
170
2
{
171
2
  return git_str_join(str, '/', a, b);
172
2
}
Unexecuted instantiation: patch_parse_fuzzer.c:git_str_joinpath
Unexecuted instantiation: fuzzer_utils.c:git_str_joinpath
Unexecuted instantiation: errors.c:git_str_joinpath
Unexecuted instantiation: runtime.c:git_str_joinpath
Unexecuted instantiation: str.c:git_str_joinpath
Unexecuted instantiation: thread.c:git_str_joinpath
Unexecuted instantiation: util.c:git_str_joinpath
Unexecuted instantiation: libgit2.c:git_str_joinpath
Unexecuted instantiation: merge_driver.c:git_str_joinpath
Unexecuted instantiation: merge_file.c:git_str_joinpath
Unexecuted instantiation: mwindow.c:git_str_joinpath
Unexecuted instantiation: odb.c:git_str_joinpath
Unexecuted instantiation: odb_loose.c:git_str_joinpath
Unexecuted instantiation: odb_pack.c:git_str_joinpath
Unexecuted instantiation: oid.c:git_str_joinpath
Unexecuted instantiation: pack.c:git_str_joinpath
Unexecuted instantiation: patch.c:git_str_joinpath
Unexecuted instantiation: patch_parse.c:git_str_joinpath
Unexecuted instantiation: repository.c:git_str_joinpath
Unexecuted instantiation: revparse.c:git_str_joinpath
Unexecuted instantiation: revwalk.c:git_str_joinpath
Unexecuted instantiation: settings.c:git_str_joinpath
Unexecuted instantiation: strarray.c:git_str_joinpath
Unexecuted instantiation: mbedtls.c:git_str_joinpath
Unexecuted instantiation: openssl.c:git_str_joinpath
Unexecuted instantiation: registry.c:git_str_joinpath
Unexecuted instantiation: socket.c:git_str_joinpath
Unexecuted instantiation: submodule.c:git_str_joinpath
sysdir.c:git_str_joinpath
Line
Count
Source
170
2
{
171
2
  return git_str_join(str, '/', a, b);
172
2
}
Unexecuted instantiation: tag.c:git_str_joinpath
Unexecuted instantiation: http.c:git_str_joinpath
Unexecuted instantiation: httpclient.c:git_str_joinpath
Unexecuted instantiation: httpparser.c:git_str_joinpath
Unexecuted instantiation: smart_protocol.c:git_str_joinpath
Unexecuted instantiation: ssh_libssh2.c:git_str_joinpath
Unexecuted instantiation: tree.c:git_str_joinpath
Unexecuted instantiation: worktree.c:git_str_joinpath
Unexecuted instantiation: alloc.c:git_str_joinpath
Unexecuted instantiation: failalloc.c:git_str_joinpath
Unexecuted instantiation: stdalloc.c:git_str_joinpath
Unexecuted instantiation: date.c:git_str_joinpath
Unexecuted instantiation: filebuf.c:git_str_joinpath
Unexecuted instantiation: fs_path.c:git_str_joinpath
Unexecuted instantiation: futils.c:git_str_joinpath
Unexecuted instantiation: hash.c:git_str_joinpath
Unexecuted instantiation: net.c:git_str_joinpath
Unexecuted instantiation: pool.c:git_str_joinpath
Unexecuted instantiation: posix.c:git_str_joinpath
Unexecuted instantiation: pqueue.c:git_str_joinpath
Unexecuted instantiation: rand.c:git_str_joinpath
Unexecuted instantiation: regexp.c:git_str_joinpath
Unexecuted instantiation: vector.c:git_str_joinpath
Unexecuted instantiation: wildmatch.c:git_str_joinpath
Unexecuted instantiation: zstream.c:git_str_joinpath
Unexecuted instantiation: map.c:git_str_joinpath
Unexecuted instantiation: realpath.c:git_str_joinpath
Unexecuted instantiation: collisiondetect.c:git_str_joinpath
Unexecuted instantiation: sha1.c:git_str_joinpath
Unexecuted instantiation: ubc_check.c:git_str_joinpath
Unexecuted instantiation: builtin.c:git_str_joinpath
Unexecuted instantiation: annotated_commit.c:git_str_joinpath
Unexecuted instantiation: attr.c:git_str_joinpath
Unexecuted instantiation: attr_file.c:git_str_joinpath
Unexecuted instantiation: attrcache.c:git_str_joinpath
Unexecuted instantiation: blob.c:git_str_joinpath
Unexecuted instantiation: branch.c:git_str_joinpath
Unexecuted instantiation: buf.c:git_str_joinpath
Unexecuted instantiation: cache.c:git_str_joinpath
Unexecuted instantiation: checkout.c:git_str_joinpath
Unexecuted instantiation: clone.c:git_str_joinpath
Unexecuted instantiation: commit.c:git_str_joinpath
Unexecuted instantiation: commit_graph.c:git_str_joinpath
Unexecuted instantiation: commit_list.c:git_str_joinpath
Unexecuted instantiation: config.c:git_str_joinpath
Unexecuted instantiation: config_cache.c:git_str_joinpath
Unexecuted instantiation: config_file.c:git_str_joinpath
Unexecuted instantiation: config_list.c:git_str_joinpath
Unexecuted instantiation: config_parse.c:git_str_joinpath
Unexecuted instantiation: config_snapshot.c:git_str_joinpath
Unexecuted instantiation: delta.c:git_str_joinpath
Unexecuted instantiation: diff.c:git_str_joinpath
Unexecuted instantiation: diff_driver.c:git_str_joinpath
Unexecuted instantiation: diff_generate.c:git_str_joinpath
Unexecuted instantiation: diff_print.c:git_str_joinpath
Unexecuted instantiation: diff_tform.c:git_str_joinpath
Unexecuted instantiation: email.c:git_str_joinpath
Unexecuted instantiation: filter.c:git_str_joinpath
Unexecuted instantiation: grafts.c:git_str_joinpath
Unexecuted instantiation: hashsig.c:git_str_joinpath
Unexecuted instantiation: ident.c:git_str_joinpath
Unexecuted instantiation: index.c:git_str_joinpath
Unexecuted instantiation: index_map.c:git_str_joinpath
Unexecuted instantiation: indexer.c:git_str_joinpath
Unexecuted instantiation: iterator.c:git_str_joinpath
Unexecuted instantiation: mailmap.c:git_str_joinpath
Unexecuted instantiation: merge.c:git_str_joinpath
Unexecuted instantiation: midx.c:git_str_joinpath
Unexecuted instantiation: object.c:git_str_joinpath
Unexecuted instantiation: object_api.c:git_str_joinpath
Unexecuted instantiation: oidarray.c:git_str_joinpath
Unexecuted instantiation: pack-objects.c:git_str_joinpath
Unexecuted instantiation: parse.c:git_str_joinpath
Unexecuted instantiation: patch_generate.c:git_str_joinpath
Unexecuted instantiation: path.c:git_str_joinpath
Unexecuted instantiation: pathspec.c:git_str_joinpath
Unexecuted instantiation: push.c:git_str_joinpath
Unexecuted instantiation: refdb.c:git_str_joinpath
Unexecuted instantiation: refdb_fs.c:git_str_joinpath
Unexecuted instantiation: reflog.c:git_str_joinpath
Unexecuted instantiation: refs.c:git_str_joinpath
Unexecuted instantiation: refspec.c:git_str_joinpath
Unexecuted instantiation: remote.c:git_str_joinpath
Unexecuted instantiation: signature.c:git_str_joinpath
Unexecuted instantiation: tls.c:git_str_joinpath
Unexecuted instantiation: trace.c:git_str_joinpath
Unexecuted instantiation: transaction.c:git_str_joinpath
Unexecuted instantiation: transport.c:git_str_joinpath
Unexecuted instantiation: auth.c:git_str_joinpath
Unexecuted instantiation: credential.c:git_str_joinpath
Unexecuted instantiation: git.c:git_str_joinpath
Unexecuted instantiation: local.c:git_str_joinpath
Unexecuted instantiation: smart.c:git_str_joinpath
Unexecuted instantiation: smart_pkt.c:git_str_joinpath
Unexecuted instantiation: tree-cache.c:git_str_joinpath
Unexecuted instantiation: sortedcache.c:git_str_joinpath
Unexecuted instantiation: tsort.c:git_str_joinpath
Unexecuted instantiation: utf8.c:git_str_joinpath
Unexecuted instantiation: varint.c:git_str_joinpath
Unexecuted instantiation: crlf.c:git_str_joinpath
Unexecuted instantiation: diff_file.c:git_str_joinpath
Unexecuted instantiation: diff_stats.c:git_str_joinpath
Unexecuted instantiation: diff_xdiff.c:git_str_joinpath
Unexecuted instantiation: fetch.c:git_str_joinpath
Unexecuted instantiation: fetchhead.c:git_str_joinpath
Unexecuted instantiation: graph.c:git_str_joinpath
Unexecuted instantiation: ignore.c:git_str_joinpath
Unexecuted instantiation: proxy.c:git_str_joinpath
173
174
GIT_INLINE(const char *) git_str_cstr(const git_str *str)
175
0
{
176
0
  return str->ptr;
177
0
}
Unexecuted instantiation: patch_parse_fuzzer.c:git_str_cstr
Unexecuted instantiation: fuzzer_utils.c:git_str_cstr
Unexecuted instantiation: errors.c:git_str_cstr
Unexecuted instantiation: runtime.c:git_str_cstr
Unexecuted instantiation: str.c:git_str_cstr
Unexecuted instantiation: thread.c:git_str_cstr
Unexecuted instantiation: util.c:git_str_cstr
Unexecuted instantiation: libgit2.c:git_str_cstr
Unexecuted instantiation: merge_driver.c:git_str_cstr
Unexecuted instantiation: merge_file.c:git_str_cstr
Unexecuted instantiation: mwindow.c:git_str_cstr
Unexecuted instantiation: odb.c:git_str_cstr
Unexecuted instantiation: odb_loose.c:git_str_cstr
Unexecuted instantiation: odb_pack.c:git_str_cstr
Unexecuted instantiation: oid.c:git_str_cstr
Unexecuted instantiation: pack.c:git_str_cstr
Unexecuted instantiation: patch.c:git_str_cstr
Unexecuted instantiation: patch_parse.c:git_str_cstr
Unexecuted instantiation: repository.c:git_str_cstr
Unexecuted instantiation: revparse.c:git_str_cstr
Unexecuted instantiation: revwalk.c:git_str_cstr
Unexecuted instantiation: settings.c:git_str_cstr
Unexecuted instantiation: strarray.c:git_str_cstr
Unexecuted instantiation: mbedtls.c:git_str_cstr
Unexecuted instantiation: openssl.c:git_str_cstr
Unexecuted instantiation: registry.c:git_str_cstr
Unexecuted instantiation: socket.c:git_str_cstr
Unexecuted instantiation: submodule.c:git_str_cstr
Unexecuted instantiation: sysdir.c:git_str_cstr
Unexecuted instantiation: tag.c:git_str_cstr
Unexecuted instantiation: http.c:git_str_cstr
Unexecuted instantiation: httpclient.c:git_str_cstr
Unexecuted instantiation: httpparser.c:git_str_cstr
Unexecuted instantiation: smart_protocol.c:git_str_cstr
Unexecuted instantiation: ssh_libssh2.c:git_str_cstr
Unexecuted instantiation: tree.c:git_str_cstr
Unexecuted instantiation: worktree.c:git_str_cstr
Unexecuted instantiation: alloc.c:git_str_cstr
Unexecuted instantiation: failalloc.c:git_str_cstr
Unexecuted instantiation: stdalloc.c:git_str_cstr
Unexecuted instantiation: date.c:git_str_cstr
Unexecuted instantiation: filebuf.c:git_str_cstr
Unexecuted instantiation: fs_path.c:git_str_cstr
Unexecuted instantiation: futils.c:git_str_cstr
Unexecuted instantiation: hash.c:git_str_cstr
Unexecuted instantiation: net.c:git_str_cstr
Unexecuted instantiation: pool.c:git_str_cstr
Unexecuted instantiation: posix.c:git_str_cstr
Unexecuted instantiation: pqueue.c:git_str_cstr
Unexecuted instantiation: rand.c:git_str_cstr
Unexecuted instantiation: regexp.c:git_str_cstr
Unexecuted instantiation: vector.c:git_str_cstr
Unexecuted instantiation: wildmatch.c:git_str_cstr
Unexecuted instantiation: zstream.c:git_str_cstr
Unexecuted instantiation: map.c:git_str_cstr
Unexecuted instantiation: realpath.c:git_str_cstr
Unexecuted instantiation: collisiondetect.c:git_str_cstr
Unexecuted instantiation: sha1.c:git_str_cstr
Unexecuted instantiation: ubc_check.c:git_str_cstr
Unexecuted instantiation: builtin.c:git_str_cstr
Unexecuted instantiation: annotated_commit.c:git_str_cstr
Unexecuted instantiation: attr.c:git_str_cstr
Unexecuted instantiation: attr_file.c:git_str_cstr
Unexecuted instantiation: attrcache.c:git_str_cstr
Unexecuted instantiation: blob.c:git_str_cstr
Unexecuted instantiation: branch.c:git_str_cstr
Unexecuted instantiation: buf.c:git_str_cstr
Unexecuted instantiation: cache.c:git_str_cstr
Unexecuted instantiation: checkout.c:git_str_cstr
Unexecuted instantiation: clone.c:git_str_cstr
Unexecuted instantiation: commit.c:git_str_cstr
Unexecuted instantiation: commit_graph.c:git_str_cstr
Unexecuted instantiation: commit_list.c:git_str_cstr
Unexecuted instantiation: config.c:git_str_cstr
Unexecuted instantiation: config_cache.c:git_str_cstr
Unexecuted instantiation: config_file.c:git_str_cstr
Unexecuted instantiation: config_list.c:git_str_cstr
Unexecuted instantiation: config_parse.c:git_str_cstr
Unexecuted instantiation: config_snapshot.c:git_str_cstr
Unexecuted instantiation: delta.c:git_str_cstr
Unexecuted instantiation: diff.c:git_str_cstr
Unexecuted instantiation: diff_driver.c:git_str_cstr
Unexecuted instantiation: diff_generate.c:git_str_cstr
Unexecuted instantiation: diff_print.c:git_str_cstr
Unexecuted instantiation: diff_tform.c:git_str_cstr
Unexecuted instantiation: email.c:git_str_cstr
Unexecuted instantiation: filter.c:git_str_cstr
Unexecuted instantiation: grafts.c:git_str_cstr
Unexecuted instantiation: hashsig.c:git_str_cstr
Unexecuted instantiation: ident.c:git_str_cstr
Unexecuted instantiation: index.c:git_str_cstr
Unexecuted instantiation: index_map.c:git_str_cstr
Unexecuted instantiation: indexer.c:git_str_cstr
Unexecuted instantiation: iterator.c:git_str_cstr
Unexecuted instantiation: mailmap.c:git_str_cstr
Unexecuted instantiation: merge.c:git_str_cstr
Unexecuted instantiation: midx.c:git_str_cstr
Unexecuted instantiation: object.c:git_str_cstr
Unexecuted instantiation: object_api.c:git_str_cstr
Unexecuted instantiation: oidarray.c:git_str_cstr
Unexecuted instantiation: pack-objects.c:git_str_cstr
Unexecuted instantiation: parse.c:git_str_cstr
Unexecuted instantiation: patch_generate.c:git_str_cstr
Unexecuted instantiation: path.c:git_str_cstr
Unexecuted instantiation: pathspec.c:git_str_cstr
Unexecuted instantiation: push.c:git_str_cstr
Unexecuted instantiation: refdb.c:git_str_cstr
Unexecuted instantiation: refdb_fs.c:git_str_cstr
Unexecuted instantiation: reflog.c:git_str_cstr
Unexecuted instantiation: refs.c:git_str_cstr
Unexecuted instantiation: refspec.c:git_str_cstr
Unexecuted instantiation: remote.c:git_str_cstr
Unexecuted instantiation: signature.c:git_str_cstr
Unexecuted instantiation: tls.c:git_str_cstr
Unexecuted instantiation: trace.c:git_str_cstr
Unexecuted instantiation: transaction.c:git_str_cstr
Unexecuted instantiation: transport.c:git_str_cstr
Unexecuted instantiation: auth.c:git_str_cstr
Unexecuted instantiation: credential.c:git_str_cstr
Unexecuted instantiation: git.c:git_str_cstr
Unexecuted instantiation: local.c:git_str_cstr
Unexecuted instantiation: smart.c:git_str_cstr
Unexecuted instantiation: smart_pkt.c:git_str_cstr
Unexecuted instantiation: tree-cache.c:git_str_cstr
Unexecuted instantiation: sortedcache.c:git_str_cstr
Unexecuted instantiation: tsort.c:git_str_cstr
Unexecuted instantiation: utf8.c:git_str_cstr
Unexecuted instantiation: varint.c:git_str_cstr
Unexecuted instantiation: crlf.c:git_str_cstr
Unexecuted instantiation: diff_file.c:git_str_cstr
Unexecuted instantiation: diff_stats.c:git_str_cstr
Unexecuted instantiation: diff_xdiff.c:git_str_cstr
Unexecuted instantiation: fetch.c:git_str_cstr
Unexecuted instantiation: fetchhead.c:git_str_cstr
Unexecuted instantiation: graph.c:git_str_cstr
Unexecuted instantiation: ignore.c:git_str_cstr
Unexecuted instantiation: proxy.c:git_str_cstr
178
179
GIT_INLINE(size_t) git_str_len(const git_str *str)
180
0
{
181
0
  return str->size;
182
0
}
Unexecuted instantiation: patch_parse_fuzzer.c:git_str_len
Unexecuted instantiation: fuzzer_utils.c:git_str_len
Unexecuted instantiation: errors.c:git_str_len
Unexecuted instantiation: runtime.c:git_str_len
Unexecuted instantiation: str.c:git_str_len
Unexecuted instantiation: thread.c:git_str_len
Unexecuted instantiation: util.c:git_str_len
Unexecuted instantiation: libgit2.c:git_str_len
Unexecuted instantiation: merge_driver.c:git_str_len
Unexecuted instantiation: merge_file.c:git_str_len
Unexecuted instantiation: mwindow.c:git_str_len
Unexecuted instantiation: odb.c:git_str_len
Unexecuted instantiation: odb_loose.c:git_str_len
Unexecuted instantiation: odb_pack.c:git_str_len
Unexecuted instantiation: oid.c:git_str_len
Unexecuted instantiation: pack.c:git_str_len
Unexecuted instantiation: patch.c:git_str_len
Unexecuted instantiation: patch_parse.c:git_str_len
Unexecuted instantiation: repository.c:git_str_len
Unexecuted instantiation: revparse.c:git_str_len
Unexecuted instantiation: revwalk.c:git_str_len
Unexecuted instantiation: settings.c:git_str_len
Unexecuted instantiation: strarray.c:git_str_len
Unexecuted instantiation: mbedtls.c:git_str_len
Unexecuted instantiation: openssl.c:git_str_len
Unexecuted instantiation: registry.c:git_str_len
Unexecuted instantiation: socket.c:git_str_len
Unexecuted instantiation: submodule.c:git_str_len
Unexecuted instantiation: sysdir.c:git_str_len
Unexecuted instantiation: tag.c:git_str_len
Unexecuted instantiation: http.c:git_str_len
Unexecuted instantiation: httpclient.c:git_str_len
Unexecuted instantiation: httpparser.c:git_str_len
Unexecuted instantiation: smart_protocol.c:git_str_len
Unexecuted instantiation: ssh_libssh2.c:git_str_len
Unexecuted instantiation: tree.c:git_str_len
Unexecuted instantiation: worktree.c:git_str_len
Unexecuted instantiation: alloc.c:git_str_len
Unexecuted instantiation: failalloc.c:git_str_len
Unexecuted instantiation: stdalloc.c:git_str_len
Unexecuted instantiation: date.c:git_str_len
Unexecuted instantiation: filebuf.c:git_str_len
Unexecuted instantiation: fs_path.c:git_str_len
Unexecuted instantiation: futils.c:git_str_len
Unexecuted instantiation: hash.c:git_str_len
Unexecuted instantiation: net.c:git_str_len
Unexecuted instantiation: pool.c:git_str_len
Unexecuted instantiation: posix.c:git_str_len
Unexecuted instantiation: pqueue.c:git_str_len
Unexecuted instantiation: rand.c:git_str_len
Unexecuted instantiation: regexp.c:git_str_len
Unexecuted instantiation: vector.c:git_str_len
Unexecuted instantiation: wildmatch.c:git_str_len
Unexecuted instantiation: zstream.c:git_str_len
Unexecuted instantiation: map.c:git_str_len
Unexecuted instantiation: realpath.c:git_str_len
Unexecuted instantiation: collisiondetect.c:git_str_len
Unexecuted instantiation: sha1.c:git_str_len
Unexecuted instantiation: ubc_check.c:git_str_len
Unexecuted instantiation: builtin.c:git_str_len
Unexecuted instantiation: annotated_commit.c:git_str_len
Unexecuted instantiation: attr.c:git_str_len
Unexecuted instantiation: attr_file.c:git_str_len
Unexecuted instantiation: attrcache.c:git_str_len
Unexecuted instantiation: blob.c:git_str_len
Unexecuted instantiation: branch.c:git_str_len
Unexecuted instantiation: buf.c:git_str_len
Unexecuted instantiation: cache.c:git_str_len
Unexecuted instantiation: checkout.c:git_str_len
Unexecuted instantiation: clone.c:git_str_len
Unexecuted instantiation: commit.c:git_str_len
Unexecuted instantiation: commit_graph.c:git_str_len
Unexecuted instantiation: commit_list.c:git_str_len
Unexecuted instantiation: config.c:git_str_len
Unexecuted instantiation: config_cache.c:git_str_len
Unexecuted instantiation: config_file.c:git_str_len
Unexecuted instantiation: config_list.c:git_str_len
Unexecuted instantiation: config_parse.c:git_str_len
Unexecuted instantiation: config_snapshot.c:git_str_len
Unexecuted instantiation: delta.c:git_str_len
Unexecuted instantiation: diff.c:git_str_len
Unexecuted instantiation: diff_driver.c:git_str_len
Unexecuted instantiation: diff_generate.c:git_str_len
Unexecuted instantiation: diff_print.c:git_str_len
Unexecuted instantiation: diff_tform.c:git_str_len
Unexecuted instantiation: email.c:git_str_len
Unexecuted instantiation: filter.c:git_str_len
Unexecuted instantiation: grafts.c:git_str_len
Unexecuted instantiation: hashsig.c:git_str_len
Unexecuted instantiation: ident.c:git_str_len
Unexecuted instantiation: index.c:git_str_len
Unexecuted instantiation: index_map.c:git_str_len
Unexecuted instantiation: indexer.c:git_str_len
Unexecuted instantiation: iterator.c:git_str_len
Unexecuted instantiation: mailmap.c:git_str_len
Unexecuted instantiation: merge.c:git_str_len
Unexecuted instantiation: midx.c:git_str_len
Unexecuted instantiation: object.c:git_str_len
Unexecuted instantiation: object_api.c:git_str_len
Unexecuted instantiation: oidarray.c:git_str_len
Unexecuted instantiation: pack-objects.c:git_str_len
Unexecuted instantiation: parse.c:git_str_len
Unexecuted instantiation: patch_generate.c:git_str_len
Unexecuted instantiation: path.c:git_str_len
Unexecuted instantiation: pathspec.c:git_str_len
Unexecuted instantiation: push.c:git_str_len
Unexecuted instantiation: refdb.c:git_str_len
Unexecuted instantiation: refdb_fs.c:git_str_len
Unexecuted instantiation: reflog.c:git_str_len
Unexecuted instantiation: refs.c:git_str_len
Unexecuted instantiation: refspec.c:git_str_len
Unexecuted instantiation: remote.c:git_str_len
Unexecuted instantiation: signature.c:git_str_len
Unexecuted instantiation: tls.c:git_str_len
Unexecuted instantiation: trace.c:git_str_len
Unexecuted instantiation: transaction.c:git_str_len
Unexecuted instantiation: transport.c:git_str_len
Unexecuted instantiation: auth.c:git_str_len
Unexecuted instantiation: credential.c:git_str_len
Unexecuted instantiation: git.c:git_str_len
Unexecuted instantiation: local.c:git_str_len
Unexecuted instantiation: smart.c:git_str_len
Unexecuted instantiation: smart_pkt.c:git_str_len
Unexecuted instantiation: tree-cache.c:git_str_len
Unexecuted instantiation: sortedcache.c:git_str_len
Unexecuted instantiation: tsort.c:git_str_len
Unexecuted instantiation: utf8.c:git_str_len
Unexecuted instantiation: varint.c:git_str_len
Unexecuted instantiation: crlf.c:git_str_len
Unexecuted instantiation: diff_file.c:git_str_len
Unexecuted instantiation: diff_stats.c:git_str_len
Unexecuted instantiation: diff_xdiff.c:git_str_len
Unexecuted instantiation: fetch.c:git_str_len
Unexecuted instantiation: fetchhead.c:git_str_len
Unexecuted instantiation: graph.c:git_str_len
Unexecuted instantiation: ignore.c:git_str_len
Unexecuted instantiation: proxy.c:git_str_len
183
184
int git_str_copy_cstr(char *data, size_t datasize, const git_str *str);
185
186
0
#define git_str_PUTS(str, cstr) git_str_put(str, cstr, sizeof(cstr) - 1)
187
188
GIT_INLINE(ssize_t) git_str_rfind_next(const git_str *str, char ch)
189
0
{
190
0
  ssize_t idx = (ssize_t)str->size - 1;
191
0
  while (idx >= 0 && str->ptr[idx] == ch) idx--;
192
0
  while (idx >= 0 && str->ptr[idx] != ch) idx--;
193
0
  return idx;
194
0
}
Unexecuted instantiation: patch_parse_fuzzer.c:git_str_rfind_next
Unexecuted instantiation: fuzzer_utils.c:git_str_rfind_next
Unexecuted instantiation: errors.c:git_str_rfind_next
Unexecuted instantiation: runtime.c:git_str_rfind_next
Unexecuted instantiation: str.c:git_str_rfind_next
Unexecuted instantiation: thread.c:git_str_rfind_next
Unexecuted instantiation: util.c:git_str_rfind_next
Unexecuted instantiation: libgit2.c:git_str_rfind_next
Unexecuted instantiation: merge_driver.c:git_str_rfind_next
Unexecuted instantiation: merge_file.c:git_str_rfind_next
Unexecuted instantiation: mwindow.c:git_str_rfind_next
Unexecuted instantiation: odb.c:git_str_rfind_next
Unexecuted instantiation: odb_loose.c:git_str_rfind_next
Unexecuted instantiation: odb_pack.c:git_str_rfind_next
Unexecuted instantiation: oid.c:git_str_rfind_next
Unexecuted instantiation: pack.c:git_str_rfind_next
Unexecuted instantiation: patch.c:git_str_rfind_next
Unexecuted instantiation: patch_parse.c:git_str_rfind_next
Unexecuted instantiation: repository.c:git_str_rfind_next
Unexecuted instantiation: revparse.c:git_str_rfind_next
Unexecuted instantiation: revwalk.c:git_str_rfind_next
Unexecuted instantiation: settings.c:git_str_rfind_next
Unexecuted instantiation: strarray.c:git_str_rfind_next
Unexecuted instantiation: mbedtls.c:git_str_rfind_next
Unexecuted instantiation: openssl.c:git_str_rfind_next
Unexecuted instantiation: registry.c:git_str_rfind_next
Unexecuted instantiation: socket.c:git_str_rfind_next
Unexecuted instantiation: submodule.c:git_str_rfind_next
Unexecuted instantiation: sysdir.c:git_str_rfind_next
Unexecuted instantiation: tag.c:git_str_rfind_next
Unexecuted instantiation: http.c:git_str_rfind_next
Unexecuted instantiation: httpclient.c:git_str_rfind_next
Unexecuted instantiation: httpparser.c:git_str_rfind_next
Unexecuted instantiation: smart_protocol.c:git_str_rfind_next
Unexecuted instantiation: ssh_libssh2.c:git_str_rfind_next
Unexecuted instantiation: tree.c:git_str_rfind_next
Unexecuted instantiation: worktree.c:git_str_rfind_next
Unexecuted instantiation: alloc.c:git_str_rfind_next
Unexecuted instantiation: failalloc.c:git_str_rfind_next
Unexecuted instantiation: stdalloc.c:git_str_rfind_next
Unexecuted instantiation: date.c:git_str_rfind_next
Unexecuted instantiation: filebuf.c:git_str_rfind_next
Unexecuted instantiation: fs_path.c:git_str_rfind_next
Unexecuted instantiation: futils.c:git_str_rfind_next
Unexecuted instantiation: hash.c:git_str_rfind_next
Unexecuted instantiation: net.c:git_str_rfind_next
Unexecuted instantiation: pool.c:git_str_rfind_next
Unexecuted instantiation: posix.c:git_str_rfind_next
Unexecuted instantiation: pqueue.c:git_str_rfind_next
Unexecuted instantiation: rand.c:git_str_rfind_next
Unexecuted instantiation: regexp.c:git_str_rfind_next
Unexecuted instantiation: vector.c:git_str_rfind_next
Unexecuted instantiation: wildmatch.c:git_str_rfind_next
Unexecuted instantiation: zstream.c:git_str_rfind_next
Unexecuted instantiation: map.c:git_str_rfind_next
Unexecuted instantiation: realpath.c:git_str_rfind_next
Unexecuted instantiation: collisiondetect.c:git_str_rfind_next
Unexecuted instantiation: sha1.c:git_str_rfind_next
Unexecuted instantiation: ubc_check.c:git_str_rfind_next
Unexecuted instantiation: builtin.c:git_str_rfind_next
Unexecuted instantiation: annotated_commit.c:git_str_rfind_next
Unexecuted instantiation: attr.c:git_str_rfind_next
Unexecuted instantiation: attr_file.c:git_str_rfind_next
Unexecuted instantiation: attrcache.c:git_str_rfind_next
Unexecuted instantiation: blob.c:git_str_rfind_next
Unexecuted instantiation: branch.c:git_str_rfind_next
Unexecuted instantiation: buf.c:git_str_rfind_next
Unexecuted instantiation: cache.c:git_str_rfind_next
Unexecuted instantiation: checkout.c:git_str_rfind_next
Unexecuted instantiation: clone.c:git_str_rfind_next
Unexecuted instantiation: commit.c:git_str_rfind_next
Unexecuted instantiation: commit_graph.c:git_str_rfind_next
Unexecuted instantiation: commit_list.c:git_str_rfind_next
Unexecuted instantiation: config.c:git_str_rfind_next
Unexecuted instantiation: config_cache.c:git_str_rfind_next
Unexecuted instantiation: config_file.c:git_str_rfind_next
Unexecuted instantiation: config_list.c:git_str_rfind_next
Unexecuted instantiation: config_parse.c:git_str_rfind_next
Unexecuted instantiation: config_snapshot.c:git_str_rfind_next
Unexecuted instantiation: delta.c:git_str_rfind_next
Unexecuted instantiation: diff.c:git_str_rfind_next
Unexecuted instantiation: diff_driver.c:git_str_rfind_next
Unexecuted instantiation: diff_generate.c:git_str_rfind_next
Unexecuted instantiation: diff_print.c:git_str_rfind_next
Unexecuted instantiation: diff_tform.c:git_str_rfind_next
Unexecuted instantiation: email.c:git_str_rfind_next
Unexecuted instantiation: filter.c:git_str_rfind_next
Unexecuted instantiation: grafts.c:git_str_rfind_next
Unexecuted instantiation: hashsig.c:git_str_rfind_next
Unexecuted instantiation: ident.c:git_str_rfind_next
Unexecuted instantiation: index.c:git_str_rfind_next
Unexecuted instantiation: index_map.c:git_str_rfind_next
Unexecuted instantiation: indexer.c:git_str_rfind_next
Unexecuted instantiation: iterator.c:git_str_rfind_next
Unexecuted instantiation: mailmap.c:git_str_rfind_next
Unexecuted instantiation: merge.c:git_str_rfind_next
Unexecuted instantiation: midx.c:git_str_rfind_next
Unexecuted instantiation: object.c:git_str_rfind_next
Unexecuted instantiation: object_api.c:git_str_rfind_next
Unexecuted instantiation: oidarray.c:git_str_rfind_next
Unexecuted instantiation: pack-objects.c:git_str_rfind_next
Unexecuted instantiation: parse.c:git_str_rfind_next
Unexecuted instantiation: patch_generate.c:git_str_rfind_next
Unexecuted instantiation: path.c:git_str_rfind_next
Unexecuted instantiation: pathspec.c:git_str_rfind_next
Unexecuted instantiation: push.c:git_str_rfind_next
Unexecuted instantiation: refdb.c:git_str_rfind_next
Unexecuted instantiation: refdb_fs.c:git_str_rfind_next
Unexecuted instantiation: reflog.c:git_str_rfind_next
Unexecuted instantiation: refs.c:git_str_rfind_next
Unexecuted instantiation: refspec.c:git_str_rfind_next
Unexecuted instantiation: remote.c:git_str_rfind_next
Unexecuted instantiation: signature.c:git_str_rfind_next
Unexecuted instantiation: tls.c:git_str_rfind_next
Unexecuted instantiation: trace.c:git_str_rfind_next
Unexecuted instantiation: transaction.c:git_str_rfind_next
Unexecuted instantiation: transport.c:git_str_rfind_next
Unexecuted instantiation: auth.c:git_str_rfind_next
Unexecuted instantiation: credential.c:git_str_rfind_next
Unexecuted instantiation: git.c:git_str_rfind_next
Unexecuted instantiation: local.c:git_str_rfind_next
Unexecuted instantiation: smart.c:git_str_rfind_next
Unexecuted instantiation: smart_pkt.c:git_str_rfind_next
Unexecuted instantiation: tree-cache.c:git_str_rfind_next
Unexecuted instantiation: sortedcache.c:git_str_rfind_next
Unexecuted instantiation: tsort.c:git_str_rfind_next
Unexecuted instantiation: utf8.c:git_str_rfind_next
Unexecuted instantiation: varint.c:git_str_rfind_next
Unexecuted instantiation: crlf.c:git_str_rfind_next
Unexecuted instantiation: diff_file.c:git_str_rfind_next
Unexecuted instantiation: diff_stats.c:git_str_rfind_next
Unexecuted instantiation: diff_xdiff.c:git_str_rfind_next
Unexecuted instantiation: fetch.c:git_str_rfind_next
Unexecuted instantiation: fetchhead.c:git_str_rfind_next
Unexecuted instantiation: graph.c:git_str_rfind_next
Unexecuted instantiation: ignore.c:git_str_rfind_next
Unexecuted instantiation: proxy.c:git_str_rfind_next
195
196
GIT_INLINE(ssize_t) git_str_rfind(const git_str *str, char ch)
197
0
{
198
0
  ssize_t idx = (ssize_t)str->size - 1;
199
0
  while (idx >= 0 && str->ptr[idx] != ch) idx--;
200
0
  return idx;
201
0
}
Unexecuted instantiation: patch_parse_fuzzer.c:git_str_rfind
Unexecuted instantiation: fuzzer_utils.c:git_str_rfind
Unexecuted instantiation: errors.c:git_str_rfind
Unexecuted instantiation: runtime.c:git_str_rfind
Unexecuted instantiation: str.c:git_str_rfind
Unexecuted instantiation: thread.c:git_str_rfind
Unexecuted instantiation: util.c:git_str_rfind
Unexecuted instantiation: libgit2.c:git_str_rfind
Unexecuted instantiation: merge_driver.c:git_str_rfind
Unexecuted instantiation: merge_file.c:git_str_rfind
Unexecuted instantiation: mwindow.c:git_str_rfind
Unexecuted instantiation: odb.c:git_str_rfind
Unexecuted instantiation: odb_loose.c:git_str_rfind
Unexecuted instantiation: odb_pack.c:git_str_rfind
Unexecuted instantiation: oid.c:git_str_rfind
Unexecuted instantiation: pack.c:git_str_rfind
Unexecuted instantiation: patch.c:git_str_rfind
Unexecuted instantiation: patch_parse.c:git_str_rfind
Unexecuted instantiation: repository.c:git_str_rfind
Unexecuted instantiation: revparse.c:git_str_rfind
Unexecuted instantiation: revwalk.c:git_str_rfind
Unexecuted instantiation: settings.c:git_str_rfind
Unexecuted instantiation: strarray.c:git_str_rfind
Unexecuted instantiation: mbedtls.c:git_str_rfind
Unexecuted instantiation: openssl.c:git_str_rfind
Unexecuted instantiation: registry.c:git_str_rfind
Unexecuted instantiation: socket.c:git_str_rfind
Unexecuted instantiation: submodule.c:git_str_rfind
Unexecuted instantiation: sysdir.c:git_str_rfind
Unexecuted instantiation: tag.c:git_str_rfind
Unexecuted instantiation: http.c:git_str_rfind
Unexecuted instantiation: httpclient.c:git_str_rfind
Unexecuted instantiation: httpparser.c:git_str_rfind
Unexecuted instantiation: smart_protocol.c:git_str_rfind
Unexecuted instantiation: ssh_libssh2.c:git_str_rfind
Unexecuted instantiation: tree.c:git_str_rfind
Unexecuted instantiation: worktree.c:git_str_rfind
Unexecuted instantiation: alloc.c:git_str_rfind
Unexecuted instantiation: failalloc.c:git_str_rfind
Unexecuted instantiation: stdalloc.c:git_str_rfind
Unexecuted instantiation: date.c:git_str_rfind
Unexecuted instantiation: filebuf.c:git_str_rfind
Unexecuted instantiation: fs_path.c:git_str_rfind
Unexecuted instantiation: futils.c:git_str_rfind
Unexecuted instantiation: hash.c:git_str_rfind
Unexecuted instantiation: net.c:git_str_rfind
Unexecuted instantiation: pool.c:git_str_rfind
Unexecuted instantiation: posix.c:git_str_rfind
Unexecuted instantiation: pqueue.c:git_str_rfind
Unexecuted instantiation: rand.c:git_str_rfind
Unexecuted instantiation: regexp.c:git_str_rfind
Unexecuted instantiation: vector.c:git_str_rfind
Unexecuted instantiation: wildmatch.c:git_str_rfind
Unexecuted instantiation: zstream.c:git_str_rfind
Unexecuted instantiation: map.c:git_str_rfind
Unexecuted instantiation: realpath.c:git_str_rfind
Unexecuted instantiation: collisiondetect.c:git_str_rfind
Unexecuted instantiation: sha1.c:git_str_rfind
Unexecuted instantiation: ubc_check.c:git_str_rfind
Unexecuted instantiation: builtin.c:git_str_rfind
Unexecuted instantiation: annotated_commit.c:git_str_rfind
Unexecuted instantiation: attr.c:git_str_rfind
Unexecuted instantiation: attr_file.c:git_str_rfind
Unexecuted instantiation: attrcache.c:git_str_rfind
Unexecuted instantiation: blob.c:git_str_rfind
Unexecuted instantiation: branch.c:git_str_rfind
Unexecuted instantiation: buf.c:git_str_rfind
Unexecuted instantiation: cache.c:git_str_rfind
Unexecuted instantiation: checkout.c:git_str_rfind
Unexecuted instantiation: clone.c:git_str_rfind
Unexecuted instantiation: commit.c:git_str_rfind
Unexecuted instantiation: commit_graph.c:git_str_rfind
Unexecuted instantiation: commit_list.c:git_str_rfind
Unexecuted instantiation: config.c:git_str_rfind
Unexecuted instantiation: config_cache.c:git_str_rfind
Unexecuted instantiation: config_file.c:git_str_rfind
Unexecuted instantiation: config_list.c:git_str_rfind
Unexecuted instantiation: config_parse.c:git_str_rfind
Unexecuted instantiation: config_snapshot.c:git_str_rfind
Unexecuted instantiation: delta.c:git_str_rfind
Unexecuted instantiation: diff.c:git_str_rfind
Unexecuted instantiation: diff_driver.c:git_str_rfind
Unexecuted instantiation: diff_generate.c:git_str_rfind
Unexecuted instantiation: diff_print.c:git_str_rfind
Unexecuted instantiation: diff_tform.c:git_str_rfind
Unexecuted instantiation: email.c:git_str_rfind
Unexecuted instantiation: filter.c:git_str_rfind
Unexecuted instantiation: grafts.c:git_str_rfind
Unexecuted instantiation: hashsig.c:git_str_rfind
Unexecuted instantiation: ident.c:git_str_rfind
Unexecuted instantiation: index.c:git_str_rfind
Unexecuted instantiation: index_map.c:git_str_rfind
Unexecuted instantiation: indexer.c:git_str_rfind
Unexecuted instantiation: iterator.c:git_str_rfind
Unexecuted instantiation: mailmap.c:git_str_rfind
Unexecuted instantiation: merge.c:git_str_rfind
Unexecuted instantiation: midx.c:git_str_rfind
Unexecuted instantiation: object.c:git_str_rfind
Unexecuted instantiation: object_api.c:git_str_rfind
Unexecuted instantiation: oidarray.c:git_str_rfind
Unexecuted instantiation: pack-objects.c:git_str_rfind
Unexecuted instantiation: parse.c:git_str_rfind
Unexecuted instantiation: patch_generate.c:git_str_rfind
Unexecuted instantiation: path.c:git_str_rfind
Unexecuted instantiation: pathspec.c:git_str_rfind
Unexecuted instantiation: push.c:git_str_rfind
Unexecuted instantiation: refdb.c:git_str_rfind
Unexecuted instantiation: refdb_fs.c:git_str_rfind
Unexecuted instantiation: reflog.c:git_str_rfind
Unexecuted instantiation: refs.c:git_str_rfind
Unexecuted instantiation: refspec.c:git_str_rfind
Unexecuted instantiation: remote.c:git_str_rfind
Unexecuted instantiation: signature.c:git_str_rfind
Unexecuted instantiation: tls.c:git_str_rfind
Unexecuted instantiation: trace.c:git_str_rfind
Unexecuted instantiation: transaction.c:git_str_rfind
Unexecuted instantiation: transport.c:git_str_rfind
Unexecuted instantiation: auth.c:git_str_rfind
Unexecuted instantiation: credential.c:git_str_rfind
Unexecuted instantiation: git.c:git_str_rfind
Unexecuted instantiation: local.c:git_str_rfind
Unexecuted instantiation: smart.c:git_str_rfind
Unexecuted instantiation: smart_pkt.c:git_str_rfind
Unexecuted instantiation: tree-cache.c:git_str_rfind
Unexecuted instantiation: sortedcache.c:git_str_rfind
Unexecuted instantiation: tsort.c:git_str_rfind
Unexecuted instantiation: utf8.c:git_str_rfind
Unexecuted instantiation: varint.c:git_str_rfind
Unexecuted instantiation: crlf.c:git_str_rfind
Unexecuted instantiation: diff_file.c:git_str_rfind
Unexecuted instantiation: diff_stats.c:git_str_rfind
Unexecuted instantiation: diff_xdiff.c:git_str_rfind
Unexecuted instantiation: fetch.c:git_str_rfind
Unexecuted instantiation: fetchhead.c:git_str_rfind
Unexecuted instantiation: graph.c:git_str_rfind
Unexecuted instantiation: ignore.c:git_str_rfind
Unexecuted instantiation: proxy.c:git_str_rfind
202
203
GIT_INLINE(ssize_t) git_str_find(const git_str *str, char ch)
204
0
{
205
0
  void *found = memchr(str->ptr, ch, str->size);
206
0
  return found ? (ssize_t)((const char *)found - str->ptr) : -1;
207
0
}
Unexecuted instantiation: patch_parse_fuzzer.c:git_str_find
Unexecuted instantiation: fuzzer_utils.c:git_str_find
Unexecuted instantiation: errors.c:git_str_find
Unexecuted instantiation: runtime.c:git_str_find
Unexecuted instantiation: str.c:git_str_find
Unexecuted instantiation: thread.c:git_str_find
Unexecuted instantiation: util.c:git_str_find
Unexecuted instantiation: libgit2.c:git_str_find
Unexecuted instantiation: merge_driver.c:git_str_find
Unexecuted instantiation: merge_file.c:git_str_find
Unexecuted instantiation: mwindow.c:git_str_find
Unexecuted instantiation: odb.c:git_str_find
Unexecuted instantiation: odb_loose.c:git_str_find
Unexecuted instantiation: odb_pack.c:git_str_find
Unexecuted instantiation: oid.c:git_str_find
Unexecuted instantiation: pack.c:git_str_find
Unexecuted instantiation: patch.c:git_str_find
Unexecuted instantiation: patch_parse.c:git_str_find
Unexecuted instantiation: repository.c:git_str_find
Unexecuted instantiation: revparse.c:git_str_find
Unexecuted instantiation: revwalk.c:git_str_find
Unexecuted instantiation: settings.c:git_str_find
Unexecuted instantiation: strarray.c:git_str_find
Unexecuted instantiation: mbedtls.c:git_str_find
Unexecuted instantiation: openssl.c:git_str_find
Unexecuted instantiation: registry.c:git_str_find
Unexecuted instantiation: socket.c:git_str_find
Unexecuted instantiation: submodule.c:git_str_find
Unexecuted instantiation: sysdir.c:git_str_find
Unexecuted instantiation: tag.c:git_str_find
Unexecuted instantiation: http.c:git_str_find
Unexecuted instantiation: httpclient.c:git_str_find
Unexecuted instantiation: httpparser.c:git_str_find
Unexecuted instantiation: smart_protocol.c:git_str_find
Unexecuted instantiation: ssh_libssh2.c:git_str_find
Unexecuted instantiation: tree.c:git_str_find
Unexecuted instantiation: worktree.c:git_str_find
Unexecuted instantiation: alloc.c:git_str_find
Unexecuted instantiation: failalloc.c:git_str_find
Unexecuted instantiation: stdalloc.c:git_str_find
Unexecuted instantiation: date.c:git_str_find
Unexecuted instantiation: filebuf.c:git_str_find
Unexecuted instantiation: fs_path.c:git_str_find
Unexecuted instantiation: futils.c:git_str_find
Unexecuted instantiation: hash.c:git_str_find
Unexecuted instantiation: net.c:git_str_find
Unexecuted instantiation: pool.c:git_str_find
Unexecuted instantiation: posix.c:git_str_find
Unexecuted instantiation: pqueue.c:git_str_find
Unexecuted instantiation: rand.c:git_str_find
Unexecuted instantiation: regexp.c:git_str_find
Unexecuted instantiation: vector.c:git_str_find
Unexecuted instantiation: wildmatch.c:git_str_find
Unexecuted instantiation: zstream.c:git_str_find
Unexecuted instantiation: map.c:git_str_find
Unexecuted instantiation: realpath.c:git_str_find
Unexecuted instantiation: collisiondetect.c:git_str_find
Unexecuted instantiation: sha1.c:git_str_find
Unexecuted instantiation: ubc_check.c:git_str_find
Unexecuted instantiation: builtin.c:git_str_find
Unexecuted instantiation: annotated_commit.c:git_str_find
Unexecuted instantiation: attr.c:git_str_find
Unexecuted instantiation: attr_file.c:git_str_find
Unexecuted instantiation: attrcache.c:git_str_find
Unexecuted instantiation: blob.c:git_str_find
Unexecuted instantiation: branch.c:git_str_find
Unexecuted instantiation: buf.c:git_str_find
Unexecuted instantiation: cache.c:git_str_find
Unexecuted instantiation: checkout.c:git_str_find
Unexecuted instantiation: clone.c:git_str_find
Unexecuted instantiation: commit.c:git_str_find
Unexecuted instantiation: commit_graph.c:git_str_find
Unexecuted instantiation: commit_list.c:git_str_find
Unexecuted instantiation: config.c:git_str_find
Unexecuted instantiation: config_cache.c:git_str_find
Unexecuted instantiation: config_file.c:git_str_find
Unexecuted instantiation: config_list.c:git_str_find
Unexecuted instantiation: config_parse.c:git_str_find
Unexecuted instantiation: config_snapshot.c:git_str_find
Unexecuted instantiation: delta.c:git_str_find
Unexecuted instantiation: diff.c:git_str_find
Unexecuted instantiation: diff_driver.c:git_str_find
Unexecuted instantiation: diff_generate.c:git_str_find
Unexecuted instantiation: diff_print.c:git_str_find
Unexecuted instantiation: diff_tform.c:git_str_find
Unexecuted instantiation: email.c:git_str_find
Unexecuted instantiation: filter.c:git_str_find
Unexecuted instantiation: grafts.c:git_str_find
Unexecuted instantiation: hashsig.c:git_str_find
Unexecuted instantiation: ident.c:git_str_find
Unexecuted instantiation: index.c:git_str_find
Unexecuted instantiation: index_map.c:git_str_find
Unexecuted instantiation: indexer.c:git_str_find
Unexecuted instantiation: iterator.c:git_str_find
Unexecuted instantiation: mailmap.c:git_str_find
Unexecuted instantiation: merge.c:git_str_find
Unexecuted instantiation: midx.c:git_str_find
Unexecuted instantiation: object.c:git_str_find
Unexecuted instantiation: object_api.c:git_str_find
Unexecuted instantiation: oidarray.c:git_str_find
Unexecuted instantiation: pack-objects.c:git_str_find
Unexecuted instantiation: parse.c:git_str_find
Unexecuted instantiation: patch_generate.c:git_str_find
Unexecuted instantiation: path.c:git_str_find
Unexecuted instantiation: pathspec.c:git_str_find
Unexecuted instantiation: push.c:git_str_find
Unexecuted instantiation: refdb.c:git_str_find
Unexecuted instantiation: refdb_fs.c:git_str_find
Unexecuted instantiation: reflog.c:git_str_find
Unexecuted instantiation: refs.c:git_str_find
Unexecuted instantiation: refspec.c:git_str_find
Unexecuted instantiation: remote.c:git_str_find
Unexecuted instantiation: signature.c:git_str_find
Unexecuted instantiation: tls.c:git_str_find
Unexecuted instantiation: trace.c:git_str_find
Unexecuted instantiation: transaction.c:git_str_find
Unexecuted instantiation: transport.c:git_str_find
Unexecuted instantiation: auth.c:git_str_find
Unexecuted instantiation: credential.c:git_str_find
Unexecuted instantiation: git.c:git_str_find
Unexecuted instantiation: local.c:git_str_find
Unexecuted instantiation: smart.c:git_str_find
Unexecuted instantiation: smart_pkt.c:git_str_find
Unexecuted instantiation: tree-cache.c:git_str_find
Unexecuted instantiation: sortedcache.c:git_str_find
Unexecuted instantiation: tsort.c:git_str_find
Unexecuted instantiation: utf8.c:git_str_find
Unexecuted instantiation: varint.c:git_str_find
Unexecuted instantiation: crlf.c:git_str_find
Unexecuted instantiation: diff_file.c:git_str_find
Unexecuted instantiation: diff_stats.c:git_str_find
Unexecuted instantiation: diff_xdiff.c:git_str_find
Unexecuted instantiation: fetch.c:git_str_find
Unexecuted instantiation: fetchhead.c:git_str_find
Unexecuted instantiation: graph.c:git_str_find
Unexecuted instantiation: ignore.c:git_str_find
Unexecuted instantiation: proxy.c:git_str_find
208
209
/* Remove whitespace from the end of the string buffer */
210
void git_str_rtrim(git_str *str);
211
212
int git_str_cmp(const git_str *a, const git_str *b);
213
214
/* Quote and unquote a string buffer as specified in
215
 * http://marc.info/?l=git&m=112927316408690&w=2
216
 */
217
int git_str_quote(git_str *str);
218
int git_str_unquote(git_str *str);
219
220
/* Write data as a hex string */
221
int git_str_encode_hexstr(git_str *str, const char *data, size_t len);
222
223
/* Write data as base64 encoded in string buffer */
224
int git_str_encode_base64(git_str *str, const char *data, size_t len);
225
/* Decode the given bas64 and write the result to the string buffer */
226
int git_str_decode_base64(git_str *str, const char *base64, size_t len);
227
228
/* Write data as "base85" encoded in string buffer */
229
int git_str_encode_base85(git_str *str, const char *data, size_t len);
230
/* Decode the given "base85" and write the result to the string buffer */
231
int git_str_decode_base85(git_str *str, const char *base64, size_t len, size_t output_len);
232
233
/*
234
 * Decode the given percent-encoded string and write the result to the
235
 * string buffer.
236
 */
237
int git_str_decode_percent(git_str *str, const char *encoded, size_t len);
238
239
/*
240
 * Insert, remove or replace a portion of the string buffer.
241
 *
242
 * @param str The string buffer to work with
243
 *
244
 * @param where The location in the string buffer where the transformation
245
 * should be applied.
246
 *
247
 * @param nb_to_remove The number of chars to be removed. 0 to not
248
 * remove any character in the string buffer.
249
 *
250
 * @param data A pointer to the data which should be inserted.
251
 *
252
 * @param nb_to_insert The number of chars to be inserted. 0 to not
253
 * insert any character from the string buffer.
254
 *
255
 * @return 0 or an error code.
256
 */
257
int git_str_splice(
258
  git_str *str,
259
  size_t where,
260
  size_t nb_to_remove,
261
  const char *data,
262
  size_t nb_to_insert);
263
264
/**
265
 * Append string to string buffer, prefixing each character from
266
 * `esc_chars` with `esc_with` string.
267
 *
268
 * @param str String buffer to append data to
269
 * @param string String to escape and append
270
 * @param esc_chars Characters to be escaped
271
 * @param esc_with String to insert in from of each found character
272
 * @return 0 on success, <0 on failure (probably allocation problem)
273
 */
274
extern int git_str_puts_escaped(
275
  git_str *str,
276
  const char *string,
277
  const char *esc_chars,
278
  const char *esc_with);
279
280
/**
281
 * Append string escaping characters that are regex special
282
 */
283
GIT_INLINE(int) git_str_puts_escape_regex(git_str *str, const char *string)
284
0
{
285
0
  return git_str_puts_escaped(str, string, "^.[]$()|*+?{}\\", "\\");
286
0
}
Unexecuted instantiation: patch_parse_fuzzer.c:git_str_puts_escape_regex
Unexecuted instantiation: fuzzer_utils.c:git_str_puts_escape_regex
Unexecuted instantiation: errors.c:git_str_puts_escape_regex
Unexecuted instantiation: runtime.c:git_str_puts_escape_regex
Unexecuted instantiation: str.c:git_str_puts_escape_regex
Unexecuted instantiation: thread.c:git_str_puts_escape_regex
Unexecuted instantiation: util.c:git_str_puts_escape_regex
Unexecuted instantiation: libgit2.c:git_str_puts_escape_regex
Unexecuted instantiation: merge_driver.c:git_str_puts_escape_regex
Unexecuted instantiation: merge_file.c:git_str_puts_escape_regex
Unexecuted instantiation: mwindow.c:git_str_puts_escape_regex
Unexecuted instantiation: odb.c:git_str_puts_escape_regex
Unexecuted instantiation: odb_loose.c:git_str_puts_escape_regex
Unexecuted instantiation: odb_pack.c:git_str_puts_escape_regex
Unexecuted instantiation: oid.c:git_str_puts_escape_regex
Unexecuted instantiation: pack.c:git_str_puts_escape_regex
Unexecuted instantiation: patch.c:git_str_puts_escape_regex
Unexecuted instantiation: patch_parse.c:git_str_puts_escape_regex
Unexecuted instantiation: repository.c:git_str_puts_escape_regex
Unexecuted instantiation: revparse.c:git_str_puts_escape_regex
Unexecuted instantiation: revwalk.c:git_str_puts_escape_regex
Unexecuted instantiation: settings.c:git_str_puts_escape_regex
Unexecuted instantiation: strarray.c:git_str_puts_escape_regex
Unexecuted instantiation: mbedtls.c:git_str_puts_escape_regex
Unexecuted instantiation: openssl.c:git_str_puts_escape_regex
Unexecuted instantiation: registry.c:git_str_puts_escape_regex
Unexecuted instantiation: socket.c:git_str_puts_escape_regex
Unexecuted instantiation: submodule.c:git_str_puts_escape_regex
Unexecuted instantiation: sysdir.c:git_str_puts_escape_regex
Unexecuted instantiation: tag.c:git_str_puts_escape_regex
Unexecuted instantiation: http.c:git_str_puts_escape_regex
Unexecuted instantiation: httpclient.c:git_str_puts_escape_regex
Unexecuted instantiation: httpparser.c:git_str_puts_escape_regex
Unexecuted instantiation: smart_protocol.c:git_str_puts_escape_regex
Unexecuted instantiation: ssh_libssh2.c:git_str_puts_escape_regex
Unexecuted instantiation: tree.c:git_str_puts_escape_regex
Unexecuted instantiation: worktree.c:git_str_puts_escape_regex
Unexecuted instantiation: alloc.c:git_str_puts_escape_regex
Unexecuted instantiation: failalloc.c:git_str_puts_escape_regex
Unexecuted instantiation: stdalloc.c:git_str_puts_escape_regex
Unexecuted instantiation: date.c:git_str_puts_escape_regex
Unexecuted instantiation: filebuf.c:git_str_puts_escape_regex
Unexecuted instantiation: fs_path.c:git_str_puts_escape_regex
Unexecuted instantiation: futils.c:git_str_puts_escape_regex
Unexecuted instantiation: hash.c:git_str_puts_escape_regex
Unexecuted instantiation: net.c:git_str_puts_escape_regex
Unexecuted instantiation: pool.c:git_str_puts_escape_regex
Unexecuted instantiation: posix.c:git_str_puts_escape_regex
Unexecuted instantiation: pqueue.c:git_str_puts_escape_regex
Unexecuted instantiation: rand.c:git_str_puts_escape_regex
Unexecuted instantiation: regexp.c:git_str_puts_escape_regex
Unexecuted instantiation: vector.c:git_str_puts_escape_regex
Unexecuted instantiation: wildmatch.c:git_str_puts_escape_regex
Unexecuted instantiation: zstream.c:git_str_puts_escape_regex
Unexecuted instantiation: map.c:git_str_puts_escape_regex
Unexecuted instantiation: realpath.c:git_str_puts_escape_regex
Unexecuted instantiation: collisiondetect.c:git_str_puts_escape_regex
Unexecuted instantiation: sha1.c:git_str_puts_escape_regex
Unexecuted instantiation: ubc_check.c:git_str_puts_escape_regex
Unexecuted instantiation: builtin.c:git_str_puts_escape_regex
Unexecuted instantiation: annotated_commit.c:git_str_puts_escape_regex
Unexecuted instantiation: attr.c:git_str_puts_escape_regex
Unexecuted instantiation: attr_file.c:git_str_puts_escape_regex
Unexecuted instantiation: attrcache.c:git_str_puts_escape_regex
Unexecuted instantiation: blob.c:git_str_puts_escape_regex
Unexecuted instantiation: branch.c:git_str_puts_escape_regex
Unexecuted instantiation: buf.c:git_str_puts_escape_regex
Unexecuted instantiation: cache.c:git_str_puts_escape_regex
Unexecuted instantiation: checkout.c:git_str_puts_escape_regex
Unexecuted instantiation: clone.c:git_str_puts_escape_regex
Unexecuted instantiation: commit.c:git_str_puts_escape_regex
Unexecuted instantiation: commit_graph.c:git_str_puts_escape_regex
Unexecuted instantiation: commit_list.c:git_str_puts_escape_regex
Unexecuted instantiation: config.c:git_str_puts_escape_regex
Unexecuted instantiation: config_cache.c:git_str_puts_escape_regex
Unexecuted instantiation: config_file.c:git_str_puts_escape_regex
Unexecuted instantiation: config_list.c:git_str_puts_escape_regex
Unexecuted instantiation: config_parse.c:git_str_puts_escape_regex
Unexecuted instantiation: config_snapshot.c:git_str_puts_escape_regex
Unexecuted instantiation: delta.c:git_str_puts_escape_regex
Unexecuted instantiation: diff.c:git_str_puts_escape_regex
Unexecuted instantiation: diff_driver.c:git_str_puts_escape_regex
Unexecuted instantiation: diff_generate.c:git_str_puts_escape_regex
Unexecuted instantiation: diff_print.c:git_str_puts_escape_regex
Unexecuted instantiation: diff_tform.c:git_str_puts_escape_regex
Unexecuted instantiation: email.c:git_str_puts_escape_regex
Unexecuted instantiation: filter.c:git_str_puts_escape_regex
Unexecuted instantiation: grafts.c:git_str_puts_escape_regex
Unexecuted instantiation: hashsig.c:git_str_puts_escape_regex
Unexecuted instantiation: ident.c:git_str_puts_escape_regex
Unexecuted instantiation: index.c:git_str_puts_escape_regex
Unexecuted instantiation: index_map.c:git_str_puts_escape_regex
Unexecuted instantiation: indexer.c:git_str_puts_escape_regex
Unexecuted instantiation: iterator.c:git_str_puts_escape_regex
Unexecuted instantiation: mailmap.c:git_str_puts_escape_regex
Unexecuted instantiation: merge.c:git_str_puts_escape_regex
Unexecuted instantiation: midx.c:git_str_puts_escape_regex
Unexecuted instantiation: object.c:git_str_puts_escape_regex
Unexecuted instantiation: object_api.c:git_str_puts_escape_regex
Unexecuted instantiation: oidarray.c:git_str_puts_escape_regex
Unexecuted instantiation: pack-objects.c:git_str_puts_escape_regex
Unexecuted instantiation: parse.c:git_str_puts_escape_regex
Unexecuted instantiation: patch_generate.c:git_str_puts_escape_regex
Unexecuted instantiation: path.c:git_str_puts_escape_regex
Unexecuted instantiation: pathspec.c:git_str_puts_escape_regex
Unexecuted instantiation: push.c:git_str_puts_escape_regex
Unexecuted instantiation: refdb.c:git_str_puts_escape_regex
Unexecuted instantiation: refdb_fs.c:git_str_puts_escape_regex
Unexecuted instantiation: reflog.c:git_str_puts_escape_regex
Unexecuted instantiation: refs.c:git_str_puts_escape_regex
Unexecuted instantiation: refspec.c:git_str_puts_escape_regex
Unexecuted instantiation: remote.c:git_str_puts_escape_regex
Unexecuted instantiation: signature.c:git_str_puts_escape_regex
Unexecuted instantiation: tls.c:git_str_puts_escape_regex
Unexecuted instantiation: trace.c:git_str_puts_escape_regex
Unexecuted instantiation: transaction.c:git_str_puts_escape_regex
Unexecuted instantiation: transport.c:git_str_puts_escape_regex
Unexecuted instantiation: auth.c:git_str_puts_escape_regex
Unexecuted instantiation: credential.c:git_str_puts_escape_regex
Unexecuted instantiation: git.c:git_str_puts_escape_regex
Unexecuted instantiation: local.c:git_str_puts_escape_regex
Unexecuted instantiation: smart.c:git_str_puts_escape_regex
Unexecuted instantiation: smart_pkt.c:git_str_puts_escape_regex
Unexecuted instantiation: tree-cache.c:git_str_puts_escape_regex
Unexecuted instantiation: sortedcache.c:git_str_puts_escape_regex
Unexecuted instantiation: tsort.c:git_str_puts_escape_regex
Unexecuted instantiation: utf8.c:git_str_puts_escape_regex
Unexecuted instantiation: varint.c:git_str_puts_escape_regex
Unexecuted instantiation: crlf.c:git_str_puts_escape_regex
Unexecuted instantiation: diff_file.c:git_str_puts_escape_regex
Unexecuted instantiation: diff_stats.c:git_str_puts_escape_regex
Unexecuted instantiation: diff_xdiff.c:git_str_puts_escape_regex
Unexecuted instantiation: fetch.c:git_str_puts_escape_regex
Unexecuted instantiation: fetchhead.c:git_str_puts_escape_regex
Unexecuted instantiation: graph.c:git_str_puts_escape_regex
Unexecuted instantiation: ignore.c:git_str_puts_escape_regex
Unexecuted instantiation: proxy.c:git_str_puts_escape_regex
287
288
/**
289
 * Unescape all characters in a string buffer in place
290
 *
291
 * I.e. remove backslashes
292
 */
293
extern void git_str_unescape(git_str *str);
294
295
/**
296
 * Replace all \r\n with \n.
297
 *
298
 * @return 0 on success, -1 on memory error
299
 */
300
extern int git_str_crlf_to_lf(git_str *tgt, const git_str *src);
301
302
/**
303
 * Replace all \n with \r\n. Does not modify existing \r\n.
304
 *
305
 * @return 0 on success, -1 on memory error
306
 */
307
extern int git_str_lf_to_crlf(git_str *tgt, const git_str *src);
308
309
/**
310
 * Fill string buffer with the common prefix of a array of strings
311
 *
312
 * String buffer will be set to empty if there is no common prefix
313
 */
314
extern int git_str_common_prefix(git_str *buf, char *const *const strings, size_t count);
315
316
/**
317
 * Check if a string buffer begins with a UTF BOM
318
 *
319
 * @param bom Set to the type of BOM detected or GIT_BOM_NONE
320
 * @param str String buffer in which to check the first bytes for a BOM
321
 * @return Number of bytes of BOM data (or 0 if no BOM found)
322
 */
323
extern int git_str_detect_bom(git_str_bom_t *bom, const git_str *str);
324
325
/**
326
 * Gather stats for a piece of text
327
 *
328
 * Fill the `stats` structure with counts of unreadable characters, carriage
329
 * returns, etc, so it can be used in heuristics.  This automatically skips
330
 * a trailing EOF (\032 character).  Also it will look for a BOM at the
331
 * start of the text and can be told to skip that as well.
332
 *
333
 * @param stats Structure to be filled in
334
 * @param str Text to process
335
 * @param skip_bom Exclude leading BOM from stats if true
336
 * @return Does the string buffer heuristically look like binary data
337
 */
338
extern bool git_str_gather_text_stats(
339
  git_str_text_stats *stats, const git_str *str, bool skip_bom);
340
341
/**
342
* Check quickly if string buffer looks like it contains binary data
343
*
344
* @param str string buffer to check
345
* @return 1 if string buffer looks like non-text data
346
*/
347
int git_str_is_binary(const git_str *str);
348
349
/**
350
* Check quickly if buffer contains a NUL byte
351
*
352
* @param str string buffer to check
353
* @return 1 if string buffer contains a NUL byte
354
*/
355
int git_str_contains_nul(const git_str *str);
356
357
#endif