/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 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 |