Line | Count | Source |
1 | | #ifndef STRBUF_H |
2 | | #define STRBUF_H |
3 | | |
4 | | /* |
5 | | * NOTE FOR STRBUF DEVELOPERS |
6 | | * |
7 | | * strbuf is a low-level primitive; as such it should interact only |
8 | | * with other low-level primitives. Do not introduce new functions |
9 | | * which interact with higher-level APIs. |
10 | | */ |
11 | | |
12 | | struct string_list; |
13 | | |
14 | | /** |
15 | | * strbufs are meant to be used with all the usual C string and memory |
16 | | * APIs. Given that the length of the buffer is known, it's often better to |
17 | | * use the mem* functions than a str* one (e.g., memchr vs. strchr). |
18 | | * Though, one has to be careful about the fact that str* functions often |
19 | | * stop on NULs and that strbufs may have embedded NULs. |
20 | | * |
21 | | * A strbuf is NUL terminated for convenience, but no function in the |
22 | | * strbuf API actually relies on the string being free of NULs. |
23 | | * |
24 | | * strbufs have some invariants that are very important to keep in mind: |
25 | | * |
26 | | * - The `buf` member is never NULL, so it can be used in any usual C |
27 | | * string operations safely. strbufs _have_ to be initialized either by |
28 | | * `strbuf_init()` or by `= STRBUF_INIT` before the invariants, though. |
29 | | * |
30 | | * Do *not* assume anything on what `buf` really is (e.g. if it is |
31 | | * allocated memory or not), use `strbuf_detach()` to unwrap a memory |
32 | | * buffer from its strbuf shell in a safe way. That is the sole supported |
33 | | * way. This will give you a malloced buffer that you can later `free()`. |
34 | | * |
35 | | * However, it is totally safe to modify anything in the string pointed by |
36 | | * the `buf` member, between the indices `0` and `len-1` (inclusive). |
37 | | * |
38 | | * - The `buf` member is a byte array that has at least `len + 1` bytes |
39 | | * allocated. The extra byte is used to store a `'\0'`, allowing the |
40 | | * `buf` member to be a valid C-string. All strbuf functions ensure this |
41 | | * invariant is preserved. |
42 | | * |
43 | | * NOTE: It is OK to "play" with the buffer directly if you work it this |
44 | | * way: |
45 | | * |
46 | | * strbuf_grow(sb, SOME_SIZE); <1> |
47 | | * strbuf_setlen(sb, sb->len + SOME_OTHER_SIZE); |
48 | | * |
49 | | * <1> Here, the memory array starting at `sb->buf`, and of length |
50 | | * `strbuf_avail(sb)` is all yours, and you can be sure that |
51 | | * `strbuf_avail(sb)` is at least `SOME_SIZE`. |
52 | | * |
53 | | * NOTE: `SOME_OTHER_SIZE` must be smaller or equal to `strbuf_avail(sb)`. |
54 | | * |
55 | | * Doing so is safe, though if it has to be done in many places, adding the |
56 | | * missing API to the strbuf module is the way to go. |
57 | | * |
58 | | * WARNING: Do _not_ assume that the area that is yours is of size `alloc |
59 | | * - 1` even if it's true in the current implementation. Alloc is somehow a |
60 | | * "private" member that should not be messed with. Use `strbuf_avail()` |
61 | | * instead. |
62 | | */ |
63 | | |
64 | | /** |
65 | | * Data Structures |
66 | | * --------------- |
67 | | */ |
68 | | |
69 | | /** |
70 | | * This is the string buffer structure. The `len` member can be used to |
71 | | * determine the current length of the string, and `buf` member provides |
72 | | * access to the string itself. |
73 | | */ |
74 | | struct strbuf { |
75 | | size_t alloc; |
76 | | size_t len; |
77 | | char *buf; |
78 | | }; |
79 | | |
80 | | extern char strbuf_slopbuf[]; |
81 | 20.2k | #define STRBUF_INIT { .buf = strbuf_slopbuf } |
82 | | |
83 | | struct object_id; |
84 | | |
85 | | /** |
86 | | * Life Cycle Functions |
87 | | * -------------------- |
88 | | */ |
89 | | |
90 | | /** |
91 | | * Initialize the structure. The second parameter can be zero or a bigger |
92 | | * number to allocate memory, in case you want to prevent further reallocs. |
93 | | */ |
94 | | void strbuf_init(struct strbuf *sb, size_t alloc); |
95 | | |
96 | | /** |
97 | | * Release a string buffer and the memory it used. After this call, the |
98 | | * strbuf points to an empty string that does not need to be free()ed, as |
99 | | * if it had been set to `STRBUF_INIT` and never modified. |
100 | | * |
101 | | * To clear a strbuf in preparation for further use without the overhead |
102 | | * of free()ing and malloc()ing again, use strbuf_reset() instead. |
103 | | */ |
104 | | void strbuf_release(struct strbuf *sb); |
105 | | |
106 | | /** |
107 | | * Detach the string from the strbuf and returns it; you now own the |
108 | | * storage the string occupies and it is your responsibility from then on |
109 | | * to release it with `free(3)` when you are done with it. |
110 | | * |
111 | | * The strbuf that previously held the string is reset to `STRBUF_INIT` so |
112 | | * it can be reused after calling this function. |
113 | | */ |
114 | | char *strbuf_detach(struct strbuf *sb, size_t *sz); |
115 | | |
116 | | /** |
117 | | * Attach a string to a buffer. You should specify the string to attach, |
118 | | * the current length of the string and the amount of allocated memory. |
119 | | * The amount must be larger than the string length, because the string you |
120 | | * pass is supposed to be a NUL-terminated string. This string _must_ be |
121 | | * malloc()ed, and after attaching, the pointer cannot be relied upon |
122 | | * anymore, and neither be free()d directly. |
123 | | */ |
124 | | void strbuf_attach(struct strbuf *sb, void *str, size_t len, size_t mem); |
125 | | |
126 | | /** |
127 | | * Swap the contents of two string buffers. |
128 | | */ |
129 | | static inline void strbuf_swap(struct strbuf *a, struct strbuf *b) |
130 | 0 | { |
131 | 0 | SWAP(*a, *b); |
132 | 0 | } Unexecuted instantiation: date.c:strbuf_swap Unexecuted instantiation: run-command.c:strbuf_swap Unexecuted instantiation: strbuf.c:strbuf_swap Unexecuted instantiation: strvec.c:strbuf_swap Unexecuted instantiation: symlinks.c:strbuf_swap Unexecuted instantiation: trace.c:strbuf_swap Unexecuted instantiation: trace2.c:strbuf_swap Unexecuted instantiation: tr2_cfg.c:strbuf_swap Unexecuted instantiation: tr2_cmd_name.c:strbuf_swap Unexecuted instantiation: tr2_dst.c:strbuf_swap Unexecuted instantiation: tr2_sid.c:strbuf_swap Unexecuted instantiation: tr2_sysenv.c:strbuf_swap Unexecuted instantiation: tr2_tgt_event.c:strbuf_swap Unexecuted instantiation: tr2_tgt_normal.c:strbuf_swap Unexecuted instantiation: tr2_tgt_perf.c:strbuf_swap Unexecuted instantiation: tr2_tls.c:strbuf_swap Unexecuted instantiation: tr2_tmr.c:strbuf_swap Unexecuted instantiation: usage.c:strbuf_swap Unexecuted instantiation: utf8.c:strbuf_swap Unexecuted instantiation: version.c:strbuf_swap Unexecuted instantiation: wrapper.c:strbuf_swap Unexecuted instantiation: procinfo.c:strbuf_swap Unexecuted instantiation: abspath.c:strbuf_swap Unexecuted instantiation: alias.c:strbuf_swap Unexecuted instantiation: config.c:strbuf_swap Unexecuted instantiation: dir.c:strbuf_swap Unexecuted instantiation: editor.c:strbuf_swap Unexecuted instantiation: environment.c:strbuf_swap Unexecuted instantiation: ewah_io.c:strbuf_swap Unexecuted instantiation: exec-cmd.c:strbuf_swap Unexecuted instantiation: fsmonitor.c:strbuf_swap Unexecuted instantiation: fsmonitor-ipc.c:strbuf_swap Unexecuted instantiation: fsmonitor-settings.c:strbuf_swap Unexecuted instantiation: ident.c:strbuf_swap Unexecuted instantiation: json-writer.c:strbuf_swap Unexecuted instantiation: lockfile.c:strbuf_swap Unexecuted instantiation: mailmap.c:strbuf_swap Unexecuted instantiation: name-hash.c:strbuf_swap Unexecuted instantiation: object-file.c:strbuf_swap Unexecuted instantiation: object-name.c:strbuf_swap Unexecuted instantiation: odb.c:strbuf_swap Unexecuted instantiation: pack-write.c:strbuf_swap Unexecuted instantiation: packfile.c:strbuf_swap Unexecuted instantiation: path.c:strbuf_swap Unexecuted instantiation: pathspec.c:strbuf_swap Unexecuted instantiation: pretty.c:strbuf_swap Unexecuted instantiation: promisor-remote.c:strbuf_swap Unexecuted instantiation: quote.c:strbuf_swap Unexecuted instantiation: read-cache.c:strbuf_swap Unexecuted instantiation: reflog-walk.c:strbuf_swap Unexecuted instantiation: refs.c:strbuf_swap Unexecuted instantiation: debug.c:strbuf_swap Unexecuted instantiation: files-backend.c:strbuf_swap Unexecuted instantiation: reftable-backend.c:strbuf_swap Unexecuted instantiation: packed-backend.c:strbuf_swap Unexecuted instantiation: system.c:strbuf_swap Unexecuted instantiation: remote.c:strbuf_swap Unexecuted instantiation: repository.c:strbuf_swap Unexecuted instantiation: resolve-undo.c:strbuf_swap Unexecuted instantiation: revision.c:strbuf_swap Unexecuted instantiation: setup.c:strbuf_swap Unexecuted instantiation: shallow.c:strbuf_swap Unexecuted instantiation: sparse-index.c:strbuf_swap Unexecuted instantiation: split-index.c:strbuf_swap Unexecuted instantiation: submodule-config.c:strbuf_swap Unexecuted instantiation: submodule.c:strbuf_swap Unexecuted instantiation: tag.c:strbuf_swap Unexecuted instantiation: tempfile.c:strbuf_swap Unexecuted instantiation: tmp-objdir.c:strbuf_swap Unexecuted instantiation: trailer.c:strbuf_swap Unexecuted instantiation: transport.c:strbuf_swap Unexecuted instantiation: tree-diff.c:strbuf_swap Unexecuted instantiation: tree-walk.c:strbuf_swap Unexecuted instantiation: tree.c:strbuf_swap Unexecuted instantiation: url.c:strbuf_swap Unexecuted instantiation: urlmatch.c:strbuf_swap Unexecuted instantiation: worktree.c:strbuf_swap Unexecuted instantiation: ws.c:strbuf_swap Unexecuted instantiation: wt-status.c:strbuf_swap Unexecuted instantiation: advice.c:strbuf_swap Unexecuted instantiation: attr.c:strbuf_swap Unexecuted instantiation: bisect.c:strbuf_swap Unexecuted instantiation: bloom.c:strbuf_swap Unexecuted instantiation: branch.c:strbuf_swap Unexecuted instantiation: bundle-uri.c:strbuf_swap Unexecuted instantiation: bundle.c:strbuf_swap Unexecuted instantiation: cache-tree.c:strbuf_swap Unexecuted instantiation: chdir-notify.c:strbuf_swap Unexecuted instantiation: color.c:strbuf_swap Unexecuted instantiation: combine-diff.c:strbuf_swap Unexecuted instantiation: commit-graph.c:strbuf_swap Unexecuted instantiation: commit-reach.c:strbuf_swap Unexecuted instantiation: commit.c:strbuf_swap Unexecuted instantiation: connect.c:strbuf_swap Unexecuted instantiation: connected.c:strbuf_swap Unexecuted instantiation: convert.c:strbuf_swap Unexecuted instantiation: copy.c:strbuf_swap Unexecuted instantiation: diff-merges.c:strbuf_swap Unexecuted instantiation: diff-lib.c:strbuf_swap Unexecuted instantiation: diff.c:strbuf_swap Unexecuted instantiation: diffcore-order.c:strbuf_swap Unexecuted instantiation: diffcore-pickaxe.c:strbuf_swap Unexecuted instantiation: diffcore-rename.c:strbuf_swap Unexecuted instantiation: diffcore-rotate.c:strbuf_swap Unexecuted instantiation: dir-iterator.c:strbuf_swap Unexecuted instantiation: fetch-pack.c:strbuf_swap Unexecuted instantiation: fsck.c:strbuf_swap Unexecuted instantiation: gpg-interface.c:strbuf_swap Unexecuted instantiation: graph.c:strbuf_swap Unexecuted instantiation: grep.c:strbuf_swap Unexecuted instantiation: hook.c:strbuf_swap Unexecuted instantiation: line-log.c:strbuf_swap Unexecuted instantiation: list-objects-filter-options.c:strbuf_swap Unexecuted instantiation: list-objects.c:strbuf_swap Unexecuted instantiation: log-tree.c:strbuf_swap Unexecuted instantiation: loose.c:strbuf_swap Unexecuted instantiation: merge-ll.c:strbuf_swap Unexecuted instantiation: merge-ort.c:strbuf_swap Unexecuted instantiation: midx.c:strbuf_swap Unexecuted instantiation: notes-cache.c:strbuf_swap Unexecuted instantiation: notes.c:strbuf_swap Unexecuted instantiation: object-file-convert.c:strbuf_swap Unexecuted instantiation: oidset.c:strbuf_swap Unexecuted instantiation: pack-revindex.c:strbuf_swap Unexecuted instantiation: parse-options-cb.c:strbuf_swap Unexecuted instantiation: parse-options.c:strbuf_swap Unexecuted instantiation: patch-ids.c:strbuf_swap Unexecuted instantiation: pkt-line.c:strbuf_swap Unexecuted instantiation: preload-index.c:strbuf_swap Unexecuted instantiation: progress.c:strbuf_swap Unexecuted instantiation: range-diff.c:strbuf_swap Unexecuted instantiation: refspec.c:strbuf_swap Unexecuted instantiation: send-pack.c:strbuf_swap Unexecuted instantiation: sequencer.c:strbuf_swap Unexecuted instantiation: sideband.c:strbuf_swap Unexecuted instantiation: sub-process.c:strbuf_swap Unexecuted instantiation: transport-helper.c:strbuf_swap Unexecuted instantiation: unpack-trees.c:strbuf_swap Unexecuted instantiation: userdiff.c:strbuf_swap Unexecuted instantiation: xdiff-interface.c:strbuf_swap Unexecuted instantiation: apply.c:strbuf_swap Unexecuted instantiation: entry.c:strbuf_swap Unexecuted instantiation: list-objects-filter.c:strbuf_swap Unexecuted instantiation: match-trees.c:strbuf_swap Unexecuted instantiation: merge-ort-wrappers.c:strbuf_swap Unexecuted instantiation: merge.c:strbuf_swap Unexecuted instantiation: notes-utils.c:strbuf_swap Unexecuted instantiation: parallel-checkout.c:strbuf_swap Unexecuted instantiation: rebase-interactive.c:strbuf_swap Unexecuted instantiation: rerere.c:strbuf_swap Unexecuted instantiation: reset.c:strbuf_swap Unexecuted instantiation: credential.c:strbuf_swap Unexecuted instantiation: prompt.c:strbuf_swap Unexecuted instantiation: terminal.c:strbuf_swap |
133 | | |
134 | | |
135 | | /** |
136 | | * Functions related to the size of the buffer |
137 | | * ------------------------------------------- |
138 | | */ |
139 | | |
140 | | /** |
141 | | * Determine the amount of allocated but unused memory. |
142 | | */ |
143 | | static inline size_t strbuf_avail(const struct strbuf *sb) |
144 | 176M | { |
145 | 176M | return sb->alloc ? sb->alloc - sb->len - 1 : 0; |
146 | 176M | } Line | Count | Source | 144 | 420 | { | 145 | 420 | return sb->alloc ? sb->alloc - sb->len - 1 : 0; | 146 | 420 | } |
Unexecuted instantiation: run-command.c:strbuf_avail Line | Count | Source | 144 | 21.1k | { | 145 | 21.1k | return sb->alloc ? sb->alloc - sb->len - 1 : 0; | 146 | 21.1k | } |
Unexecuted instantiation: strvec.c:strbuf_avail Unexecuted instantiation: symlinks.c:strbuf_avail Unexecuted instantiation: trace.c:strbuf_avail Unexecuted instantiation: trace2.c:strbuf_avail Unexecuted instantiation: tr2_cfg.c:strbuf_avail Unexecuted instantiation: tr2_cmd_name.c:strbuf_avail Unexecuted instantiation: tr2_dst.c:strbuf_avail Unexecuted instantiation: tr2_sid.c:strbuf_avail Unexecuted instantiation: tr2_sysenv.c:strbuf_avail Unexecuted instantiation: tr2_tgt_event.c:strbuf_avail Unexecuted instantiation: tr2_tgt_normal.c:strbuf_avail Unexecuted instantiation: tr2_tgt_perf.c:strbuf_avail Unexecuted instantiation: tr2_tls.c:strbuf_avail Unexecuted instantiation: tr2_tmr.c:strbuf_avail Unexecuted instantiation: usage.c:strbuf_avail Unexecuted instantiation: utf8.c:strbuf_avail Unexecuted instantiation: version.c:strbuf_avail Unexecuted instantiation: wrapper.c:strbuf_avail Unexecuted instantiation: procinfo.c:strbuf_avail Unexecuted instantiation: abspath.c:strbuf_avail Unexecuted instantiation: alias.c:strbuf_avail Line | Count | Source | 144 | 74.8M | { | 145 | 74.8M | return sb->alloc ? sb->alloc - sb->len - 1 : 0; | 146 | 74.8M | } |
Unexecuted instantiation: dir.c:strbuf_avail Unexecuted instantiation: editor.c:strbuf_avail Unexecuted instantiation: environment.c:strbuf_avail Unexecuted instantiation: ewah_io.c:strbuf_avail Unexecuted instantiation: exec-cmd.c:strbuf_avail Unexecuted instantiation: fsmonitor.c:strbuf_avail Unexecuted instantiation: fsmonitor-ipc.c:strbuf_avail Unexecuted instantiation: fsmonitor-settings.c:strbuf_avail Unexecuted instantiation: ident.c:strbuf_avail Unexecuted instantiation: json-writer.c:strbuf_avail Unexecuted instantiation: lockfile.c:strbuf_avail Unexecuted instantiation: mailmap.c:strbuf_avail Unexecuted instantiation: name-hash.c:strbuf_avail Unexecuted instantiation: object-file.c:strbuf_avail Unexecuted instantiation: object-name.c:strbuf_avail Unexecuted instantiation: odb.c:strbuf_avail Unexecuted instantiation: pack-write.c:strbuf_avail Unexecuted instantiation: packfile.c:strbuf_avail Unexecuted instantiation: path.c:strbuf_avail Unexecuted instantiation: pathspec.c:strbuf_avail Unexecuted instantiation: pretty.c:strbuf_avail Unexecuted instantiation: promisor-remote.c:strbuf_avail Line | Count | Source | 144 | 3.38k | { | 145 | 3.38k | return sb->alloc ? sb->alloc - sb->len - 1 : 0; | 146 | 3.38k | } |
Unexecuted instantiation: read-cache.c:strbuf_avail Unexecuted instantiation: reflog-walk.c:strbuf_avail Unexecuted instantiation: refs.c:strbuf_avail Unexecuted instantiation: debug.c:strbuf_avail Unexecuted instantiation: files-backend.c:strbuf_avail Unexecuted instantiation: reftable-backend.c:strbuf_avail Unexecuted instantiation: packed-backend.c:strbuf_avail Unexecuted instantiation: system.c:strbuf_avail Unexecuted instantiation: remote.c:strbuf_avail Unexecuted instantiation: repository.c:strbuf_avail Unexecuted instantiation: resolve-undo.c:strbuf_avail Unexecuted instantiation: revision.c:strbuf_avail Unexecuted instantiation: setup.c:strbuf_avail Unexecuted instantiation: shallow.c:strbuf_avail Unexecuted instantiation: sparse-index.c:strbuf_avail Unexecuted instantiation: split-index.c:strbuf_avail Unexecuted instantiation: submodule-config.c:strbuf_avail Unexecuted instantiation: submodule.c:strbuf_avail Unexecuted instantiation: tag.c:strbuf_avail Unexecuted instantiation: tempfile.c:strbuf_avail Unexecuted instantiation: tmp-objdir.c:strbuf_avail Unexecuted instantiation: trailer.c:strbuf_avail Unexecuted instantiation: transport.c:strbuf_avail Unexecuted instantiation: tree-diff.c:strbuf_avail Unexecuted instantiation: tree-walk.c:strbuf_avail Unexecuted instantiation: tree.c:strbuf_avail Line | Count | Source | 144 | 101M | { | 145 | 101M | return sb->alloc ? sb->alloc - sb->len - 1 : 0; | 146 | 101M | } |
Unexecuted instantiation: urlmatch.c:strbuf_avail Unexecuted instantiation: worktree.c:strbuf_avail Unexecuted instantiation: ws.c:strbuf_avail Unexecuted instantiation: wt-status.c:strbuf_avail Unexecuted instantiation: advice.c:strbuf_avail Unexecuted instantiation: attr.c:strbuf_avail Unexecuted instantiation: bisect.c:strbuf_avail Unexecuted instantiation: bloom.c:strbuf_avail Unexecuted instantiation: branch.c:strbuf_avail Unexecuted instantiation: bundle-uri.c:strbuf_avail Unexecuted instantiation: bundle.c:strbuf_avail Unexecuted instantiation: cache-tree.c:strbuf_avail Unexecuted instantiation: chdir-notify.c:strbuf_avail Unexecuted instantiation: color.c:strbuf_avail Unexecuted instantiation: combine-diff.c:strbuf_avail Unexecuted instantiation: commit-graph.c:strbuf_avail Unexecuted instantiation: commit-reach.c:strbuf_avail Unexecuted instantiation: commit.c:strbuf_avail Unexecuted instantiation: connect.c:strbuf_avail Unexecuted instantiation: connected.c:strbuf_avail Unexecuted instantiation: convert.c:strbuf_avail Unexecuted instantiation: copy.c:strbuf_avail Unexecuted instantiation: diff-merges.c:strbuf_avail Unexecuted instantiation: diff-lib.c:strbuf_avail Unexecuted instantiation: diff.c:strbuf_avail Unexecuted instantiation: diffcore-order.c:strbuf_avail Unexecuted instantiation: diffcore-pickaxe.c:strbuf_avail Unexecuted instantiation: diffcore-rename.c:strbuf_avail Unexecuted instantiation: diffcore-rotate.c:strbuf_avail Unexecuted instantiation: dir-iterator.c:strbuf_avail Unexecuted instantiation: fetch-pack.c:strbuf_avail Unexecuted instantiation: fsck.c:strbuf_avail Unexecuted instantiation: gpg-interface.c:strbuf_avail Unexecuted instantiation: graph.c:strbuf_avail Unexecuted instantiation: grep.c:strbuf_avail Unexecuted instantiation: hook.c:strbuf_avail Unexecuted instantiation: line-log.c:strbuf_avail Unexecuted instantiation: list-objects-filter-options.c:strbuf_avail Unexecuted instantiation: list-objects.c:strbuf_avail Unexecuted instantiation: log-tree.c:strbuf_avail Unexecuted instantiation: loose.c:strbuf_avail Unexecuted instantiation: merge-ll.c:strbuf_avail Unexecuted instantiation: merge-ort.c:strbuf_avail Unexecuted instantiation: midx.c:strbuf_avail Unexecuted instantiation: notes-cache.c:strbuf_avail Unexecuted instantiation: notes.c:strbuf_avail Unexecuted instantiation: object-file-convert.c:strbuf_avail Unexecuted instantiation: oidset.c:strbuf_avail Unexecuted instantiation: pack-revindex.c:strbuf_avail Unexecuted instantiation: parse-options-cb.c:strbuf_avail Unexecuted instantiation: parse-options.c:strbuf_avail Unexecuted instantiation: patch-ids.c:strbuf_avail Unexecuted instantiation: pkt-line.c:strbuf_avail Unexecuted instantiation: preload-index.c:strbuf_avail Unexecuted instantiation: progress.c:strbuf_avail Unexecuted instantiation: range-diff.c:strbuf_avail Unexecuted instantiation: refspec.c:strbuf_avail Unexecuted instantiation: send-pack.c:strbuf_avail Unexecuted instantiation: sequencer.c:strbuf_avail Unexecuted instantiation: sideband.c:strbuf_avail Unexecuted instantiation: sub-process.c:strbuf_avail Unexecuted instantiation: transport-helper.c:strbuf_avail Unexecuted instantiation: unpack-trees.c:strbuf_avail Unexecuted instantiation: userdiff.c:strbuf_avail Unexecuted instantiation: xdiff-interface.c:strbuf_avail Unexecuted instantiation: apply.c:strbuf_avail Unexecuted instantiation: entry.c:strbuf_avail Unexecuted instantiation: list-objects-filter.c:strbuf_avail Unexecuted instantiation: match-trees.c:strbuf_avail Unexecuted instantiation: merge-ort-wrappers.c:strbuf_avail Unexecuted instantiation: merge.c:strbuf_avail Unexecuted instantiation: notes-utils.c:strbuf_avail Unexecuted instantiation: parallel-checkout.c:strbuf_avail Unexecuted instantiation: rebase-interactive.c:strbuf_avail Unexecuted instantiation: rerere.c:strbuf_avail Unexecuted instantiation: reset.c:strbuf_avail Unexecuted instantiation: credential.c:strbuf_avail Unexecuted instantiation: prompt.c:strbuf_avail Unexecuted instantiation: terminal.c:strbuf_avail |
147 | | |
148 | | /** |
149 | | * Ensure that at least this amount of unused memory is available after |
150 | | * `len`. This is used when you know a typical size for what you will add |
151 | | * and want to avoid repetitive automatic resizing of the underlying buffer. |
152 | | * This is never a needed operation, but can be critical for performance in |
153 | | * some cases. |
154 | | */ |
155 | | void strbuf_grow(struct strbuf *sb, size_t amount); |
156 | | |
157 | | /** |
158 | | * Set the length of the buffer to a given value. This function does *not* |
159 | | * allocate new memory, so you should not perform a `strbuf_setlen()` to a |
160 | | * length that is larger than `len + strbuf_avail()`. `strbuf_setlen()` is |
161 | | * just meant as a 'please fix invariants from this strbuf I just messed |
162 | | * with'. |
163 | | */ |
164 | | static inline void strbuf_setlen(struct strbuf *sb, size_t len) |
165 | 27.7k | { |
166 | 27.7k | if (len > (sb->alloc ? sb->alloc - 1 : 0)) |
167 | 0 | BUG("strbuf_setlen() beyond buffer"); |
168 | 27.7k | sb->len = len; |
169 | 27.7k | if (sb->buf != strbuf_slopbuf) |
170 | 27.7k | sb->buf[len] = '\0'; |
171 | 1 | else |
172 | 27.7k | assert(!strbuf_slopbuf[0]); |
173 | 27.7k | } Line | Count | Source | 165 | 4.65k | { | 166 | 4.65k | if (len > (sb->alloc ? sb->alloc - 1 : 0)) | 167 | 0 | BUG("strbuf_setlen() beyond buffer"); | 168 | 4.65k | sb->len = len; | 169 | 4.65k | if (sb->buf != strbuf_slopbuf) | 170 | 4.64k | sb->buf[len] = '\0'; | 171 | 1 | else | 172 | | assert(!strbuf_slopbuf[0]); | 173 | 4.65k | } |
Unexecuted instantiation: run-command.c:strbuf_setlen Line | Count | Source | 165 | 14.9k | { | 166 | 14.9k | if (len > (sb->alloc ? sb->alloc - 1 : 0)) | 167 | 0 | BUG("strbuf_setlen() beyond buffer"); | 168 | 14.9k | sb->len = len; | 169 | 14.9k | if (sb->buf != strbuf_slopbuf) | 170 | 14.9k | sb->buf[len] = '\0'; | 171 | 0 | else | 172 | | assert(!strbuf_slopbuf[0]); | 173 | 14.9k | } |
Unexecuted instantiation: strvec.c:strbuf_setlen Unexecuted instantiation: symlinks.c:strbuf_setlen Unexecuted instantiation: trace.c:strbuf_setlen Unexecuted instantiation: trace2.c:strbuf_setlen Unexecuted instantiation: tr2_cfg.c:strbuf_setlen Unexecuted instantiation: tr2_cmd_name.c:strbuf_setlen Unexecuted instantiation: tr2_dst.c:strbuf_setlen Unexecuted instantiation: tr2_sid.c:strbuf_setlen Unexecuted instantiation: tr2_sysenv.c:strbuf_setlen Unexecuted instantiation: tr2_tgt_event.c:strbuf_setlen Unexecuted instantiation: tr2_tgt_normal.c:strbuf_setlen Unexecuted instantiation: tr2_tgt_perf.c:strbuf_setlen Unexecuted instantiation: tr2_tls.c:strbuf_setlen Unexecuted instantiation: tr2_tmr.c:strbuf_setlen Unexecuted instantiation: usage.c:strbuf_setlen Unexecuted instantiation: utf8.c:strbuf_setlen Unexecuted instantiation: version.c:strbuf_setlen Unexecuted instantiation: wrapper.c:strbuf_setlen Unexecuted instantiation: procinfo.c:strbuf_setlen Unexecuted instantiation: abspath.c:strbuf_setlen Unexecuted instantiation: alias.c:strbuf_setlen Line | Count | Source | 165 | 7.75k | { | 166 | 7.75k | if (len > (sb->alloc ? sb->alloc - 1 : 0)) | 167 | 0 | BUG("strbuf_setlen() beyond buffer"); | 168 | 7.75k | sb->len = len; | 169 | 7.75k | if (sb->buf != strbuf_slopbuf) | 170 | 7.75k | sb->buf[len] = '\0'; | 171 | 0 | else | 172 | | assert(!strbuf_slopbuf[0]); | 173 | 7.75k | } |
Unexecuted instantiation: dir.c:strbuf_setlen Unexecuted instantiation: editor.c:strbuf_setlen Unexecuted instantiation: environment.c:strbuf_setlen Unexecuted instantiation: ewah_io.c:strbuf_setlen Unexecuted instantiation: exec-cmd.c:strbuf_setlen Unexecuted instantiation: fsmonitor.c:strbuf_setlen Unexecuted instantiation: fsmonitor-ipc.c:strbuf_setlen Unexecuted instantiation: fsmonitor-settings.c:strbuf_setlen Unexecuted instantiation: ident.c:strbuf_setlen Unexecuted instantiation: json-writer.c:strbuf_setlen Unexecuted instantiation: lockfile.c:strbuf_setlen Unexecuted instantiation: mailmap.c:strbuf_setlen Unexecuted instantiation: name-hash.c:strbuf_setlen Unexecuted instantiation: object-file.c:strbuf_setlen Unexecuted instantiation: object-name.c:strbuf_setlen Unexecuted instantiation: odb.c:strbuf_setlen Unexecuted instantiation: pack-write.c:strbuf_setlen Unexecuted instantiation: packfile.c:strbuf_setlen Unexecuted instantiation: path.c:strbuf_setlen Unexecuted instantiation: pathspec.c:strbuf_setlen Unexecuted instantiation: pretty.c:strbuf_setlen Unexecuted instantiation: promisor-remote.c:strbuf_setlen Line | Count | Source | 165 | 414 | { | 166 | 414 | if (len > (sb->alloc ? sb->alloc - 1 : 0)) | 167 | 0 | BUG("strbuf_setlen() beyond buffer"); | 168 | 414 | sb->len = len; | 169 | 414 | if (sb->buf != strbuf_slopbuf) | 170 | 414 | sb->buf[len] = '\0'; | 171 | 0 | else | 172 | | assert(!strbuf_slopbuf[0]); | 173 | 414 | } |
Unexecuted instantiation: read-cache.c:strbuf_setlen Unexecuted instantiation: reflog-walk.c:strbuf_setlen Unexecuted instantiation: refs.c:strbuf_setlen Unexecuted instantiation: debug.c:strbuf_setlen Unexecuted instantiation: files-backend.c:strbuf_setlen Unexecuted instantiation: reftable-backend.c:strbuf_setlen Unexecuted instantiation: packed-backend.c:strbuf_setlen Unexecuted instantiation: system.c:strbuf_setlen Unexecuted instantiation: remote.c:strbuf_setlen Unexecuted instantiation: repository.c:strbuf_setlen Unexecuted instantiation: resolve-undo.c:strbuf_setlen Unexecuted instantiation: revision.c:strbuf_setlen Unexecuted instantiation: setup.c:strbuf_setlen Unexecuted instantiation: shallow.c:strbuf_setlen Unexecuted instantiation: sparse-index.c:strbuf_setlen Unexecuted instantiation: split-index.c:strbuf_setlen Unexecuted instantiation: submodule-config.c:strbuf_setlen Unexecuted instantiation: submodule.c:strbuf_setlen Unexecuted instantiation: tag.c:strbuf_setlen Unexecuted instantiation: tempfile.c:strbuf_setlen Unexecuted instantiation: tmp-objdir.c:strbuf_setlen Unexecuted instantiation: trailer.c:strbuf_setlen Unexecuted instantiation: transport.c:strbuf_setlen Unexecuted instantiation: tree-diff.c:strbuf_setlen Unexecuted instantiation: tree-walk.c:strbuf_setlen Unexecuted instantiation: tree.c:strbuf_setlen Unexecuted instantiation: url.c:strbuf_setlen Unexecuted instantiation: urlmatch.c:strbuf_setlen Unexecuted instantiation: worktree.c:strbuf_setlen Unexecuted instantiation: ws.c:strbuf_setlen Unexecuted instantiation: wt-status.c:strbuf_setlen Unexecuted instantiation: advice.c:strbuf_setlen Unexecuted instantiation: attr.c:strbuf_setlen Unexecuted instantiation: bisect.c:strbuf_setlen Unexecuted instantiation: bloom.c:strbuf_setlen Unexecuted instantiation: branch.c:strbuf_setlen Unexecuted instantiation: bundle-uri.c:strbuf_setlen Unexecuted instantiation: bundle.c:strbuf_setlen Unexecuted instantiation: cache-tree.c:strbuf_setlen Unexecuted instantiation: chdir-notify.c:strbuf_setlen Unexecuted instantiation: color.c:strbuf_setlen Unexecuted instantiation: combine-diff.c:strbuf_setlen Unexecuted instantiation: commit-graph.c:strbuf_setlen Unexecuted instantiation: commit-reach.c:strbuf_setlen Unexecuted instantiation: commit.c:strbuf_setlen Unexecuted instantiation: connect.c:strbuf_setlen Unexecuted instantiation: connected.c:strbuf_setlen Unexecuted instantiation: convert.c:strbuf_setlen Unexecuted instantiation: copy.c:strbuf_setlen Unexecuted instantiation: diff-merges.c:strbuf_setlen Unexecuted instantiation: diff-lib.c:strbuf_setlen Unexecuted instantiation: diff.c:strbuf_setlen Unexecuted instantiation: diffcore-order.c:strbuf_setlen Unexecuted instantiation: diffcore-pickaxe.c:strbuf_setlen Unexecuted instantiation: diffcore-rename.c:strbuf_setlen Unexecuted instantiation: diffcore-rotate.c:strbuf_setlen Unexecuted instantiation: dir-iterator.c:strbuf_setlen Unexecuted instantiation: fetch-pack.c:strbuf_setlen Unexecuted instantiation: fsck.c:strbuf_setlen Unexecuted instantiation: gpg-interface.c:strbuf_setlen Unexecuted instantiation: graph.c:strbuf_setlen Unexecuted instantiation: grep.c:strbuf_setlen Unexecuted instantiation: hook.c:strbuf_setlen Unexecuted instantiation: line-log.c:strbuf_setlen Unexecuted instantiation: list-objects-filter-options.c:strbuf_setlen Unexecuted instantiation: list-objects.c:strbuf_setlen Unexecuted instantiation: log-tree.c:strbuf_setlen Unexecuted instantiation: loose.c:strbuf_setlen Unexecuted instantiation: merge-ll.c:strbuf_setlen Unexecuted instantiation: merge-ort.c:strbuf_setlen Unexecuted instantiation: midx.c:strbuf_setlen Unexecuted instantiation: notes-cache.c:strbuf_setlen Unexecuted instantiation: notes.c:strbuf_setlen Unexecuted instantiation: object-file-convert.c:strbuf_setlen Unexecuted instantiation: oidset.c:strbuf_setlen Unexecuted instantiation: pack-revindex.c:strbuf_setlen Unexecuted instantiation: parse-options-cb.c:strbuf_setlen Unexecuted instantiation: parse-options.c:strbuf_setlen Unexecuted instantiation: patch-ids.c:strbuf_setlen Unexecuted instantiation: pkt-line.c:strbuf_setlen Unexecuted instantiation: preload-index.c:strbuf_setlen Unexecuted instantiation: progress.c:strbuf_setlen Unexecuted instantiation: range-diff.c:strbuf_setlen Unexecuted instantiation: refspec.c:strbuf_setlen Unexecuted instantiation: send-pack.c:strbuf_setlen Unexecuted instantiation: sequencer.c:strbuf_setlen Unexecuted instantiation: sideband.c:strbuf_setlen Unexecuted instantiation: sub-process.c:strbuf_setlen Unexecuted instantiation: transport-helper.c:strbuf_setlen Unexecuted instantiation: unpack-trees.c:strbuf_setlen Unexecuted instantiation: userdiff.c:strbuf_setlen Unexecuted instantiation: xdiff-interface.c:strbuf_setlen Unexecuted instantiation: apply.c:strbuf_setlen Unexecuted instantiation: entry.c:strbuf_setlen Unexecuted instantiation: list-objects-filter.c:strbuf_setlen Unexecuted instantiation: match-trees.c:strbuf_setlen Unexecuted instantiation: merge-ort-wrappers.c:strbuf_setlen Unexecuted instantiation: merge.c:strbuf_setlen Unexecuted instantiation: notes-utils.c:strbuf_setlen Unexecuted instantiation: parallel-checkout.c:strbuf_setlen Unexecuted instantiation: rebase-interactive.c:strbuf_setlen Unexecuted instantiation: rerere.c:strbuf_setlen Unexecuted instantiation: reset.c:strbuf_setlen Unexecuted instantiation: credential.c:strbuf_setlen Unexecuted instantiation: prompt.c:strbuf_setlen Unexecuted instantiation: terminal.c:strbuf_setlen |
174 | | |
175 | | /** |
176 | | * Empty the buffer by setting the size of it to zero. |
177 | | */ |
178 | 8.76k | #define strbuf_reset(sb) strbuf_setlen(sb, 0) |
179 | | |
180 | | |
181 | | /** |
182 | | * Functions related to the contents of the buffer |
183 | | * ----------------------------------------------- |
184 | | */ |
185 | | |
186 | | /** |
187 | | * Strip whitespace from the beginning (`ltrim`), end (`rtrim`), or both side |
188 | | * (`trim`) of a string. |
189 | | */ |
190 | | void strbuf_trim(struct strbuf *sb); |
191 | | void strbuf_rtrim(struct strbuf *sb); |
192 | | void strbuf_ltrim(struct strbuf *sb); |
193 | | |
194 | | /* Strip trailing directory separators */ |
195 | | void strbuf_trim_trailing_dir_sep(struct strbuf *sb); |
196 | | |
197 | | /* Strip trailing LF or CR/LF */ |
198 | | void strbuf_trim_trailing_newline(struct strbuf *sb); |
199 | | |
200 | | /** |
201 | | * Replace the contents of the strbuf with a reencoded form. Returns -1 |
202 | | * on error, 0 on success. |
203 | | */ |
204 | | int strbuf_reencode(struct strbuf *sb, const char *from, const char *to); |
205 | | |
206 | | /** |
207 | | * Lowercase each character in the buffer using `tolower`. |
208 | | */ |
209 | | void strbuf_tolower(struct strbuf *sb); |
210 | | |
211 | | /** |
212 | | * Compare two buffers. Returns an integer less than, equal to, or greater |
213 | | * than zero if the first buffer is found, respectively, to be less than, |
214 | | * to match, or be greater than the second buffer. |
215 | | */ |
216 | | int strbuf_cmp(const struct strbuf *first, const struct strbuf *second); |
217 | | |
218 | | |
219 | | /** |
220 | | * Adding data to the buffer |
221 | | * ------------------------- |
222 | | * |
223 | | * NOTE: All of the functions in this section will grow the buffer as |
224 | | * necessary. If they fail for some reason other than memory shortage and the |
225 | | * buffer hadn't been allocated before (i.e. the `struct strbuf` was set to |
226 | | * `STRBUF_INIT`), then they will free() it. |
227 | | */ |
228 | | |
229 | | /** |
230 | | * Add a single character to the buffer. |
231 | | */ |
232 | | static inline void strbuf_addch(struct strbuf *sb, int c) |
233 | 176M | { |
234 | 176M | if (!strbuf_avail(sb)) |
235 | 16.1k | strbuf_grow(sb, 1); |
236 | 176M | sb->buf[sb->len++] = c; |
237 | 176M | sb->buf[sb->len] = '\0'; |
238 | 176M | } Line | Count | Source | 233 | 420 | { | 234 | 420 | if (!strbuf_avail(sb)) | 235 | 0 | strbuf_grow(sb, 1); | 236 | 420 | sb->buf[sb->len++] = c; | 237 | 420 | sb->buf[sb->len] = '\0'; | 238 | 420 | } |
Unexecuted instantiation: run-command.c:strbuf_addch Unexecuted instantiation: strbuf.c:strbuf_addch Unexecuted instantiation: strvec.c:strbuf_addch Unexecuted instantiation: symlinks.c:strbuf_addch Unexecuted instantiation: trace.c:strbuf_addch Unexecuted instantiation: trace2.c:strbuf_addch Unexecuted instantiation: tr2_cfg.c:strbuf_addch Unexecuted instantiation: tr2_cmd_name.c:strbuf_addch Unexecuted instantiation: tr2_dst.c:strbuf_addch Unexecuted instantiation: tr2_sid.c:strbuf_addch Unexecuted instantiation: tr2_sysenv.c:strbuf_addch Unexecuted instantiation: tr2_tgt_event.c:strbuf_addch Unexecuted instantiation: tr2_tgt_normal.c:strbuf_addch Unexecuted instantiation: tr2_tgt_perf.c:strbuf_addch Unexecuted instantiation: tr2_tls.c:strbuf_addch Unexecuted instantiation: tr2_tmr.c:strbuf_addch Unexecuted instantiation: usage.c:strbuf_addch Unexecuted instantiation: utf8.c:strbuf_addch Unexecuted instantiation: version.c:strbuf_addch Unexecuted instantiation: wrapper.c:strbuf_addch Unexecuted instantiation: procinfo.c:strbuf_addch Unexecuted instantiation: abspath.c:strbuf_addch Unexecuted instantiation: alias.c:strbuf_addch Line | Count | Source | 233 | 74.8M | { | 234 | 74.8M | if (!strbuf_avail(sb)) | 235 | 3.95k | strbuf_grow(sb, 1); | 236 | 74.8M | sb->buf[sb->len++] = c; | 237 | 74.8M | sb->buf[sb->len] = '\0'; | 238 | 74.8M | } |
Unexecuted instantiation: dir.c:strbuf_addch Unexecuted instantiation: editor.c:strbuf_addch Unexecuted instantiation: environment.c:strbuf_addch Unexecuted instantiation: ewah_io.c:strbuf_addch Unexecuted instantiation: exec-cmd.c:strbuf_addch Unexecuted instantiation: fsmonitor.c:strbuf_addch Unexecuted instantiation: fsmonitor-ipc.c:strbuf_addch Unexecuted instantiation: fsmonitor-settings.c:strbuf_addch Unexecuted instantiation: ident.c:strbuf_addch Unexecuted instantiation: json-writer.c:strbuf_addch Unexecuted instantiation: lockfile.c:strbuf_addch Unexecuted instantiation: mailmap.c:strbuf_addch Unexecuted instantiation: name-hash.c:strbuf_addch Unexecuted instantiation: object-file.c:strbuf_addch Unexecuted instantiation: object-name.c:strbuf_addch Unexecuted instantiation: odb.c:strbuf_addch Unexecuted instantiation: pack-write.c:strbuf_addch Unexecuted instantiation: packfile.c:strbuf_addch Unexecuted instantiation: path.c:strbuf_addch Unexecuted instantiation: pathspec.c:strbuf_addch Unexecuted instantiation: pretty.c:strbuf_addch Unexecuted instantiation: promisor-remote.c:strbuf_addch Line | Count | Source | 233 | 3.38k | { | 234 | 3.38k | if (!strbuf_avail(sb)) | 235 | 178 | strbuf_grow(sb, 1); | 236 | 3.38k | sb->buf[sb->len++] = c; | 237 | 3.38k | sb->buf[sb->len] = '\0'; | 238 | 3.38k | } |
Unexecuted instantiation: read-cache.c:strbuf_addch Unexecuted instantiation: reflog-walk.c:strbuf_addch Unexecuted instantiation: refs.c:strbuf_addch Unexecuted instantiation: debug.c:strbuf_addch Unexecuted instantiation: files-backend.c:strbuf_addch Unexecuted instantiation: reftable-backend.c:strbuf_addch Unexecuted instantiation: packed-backend.c:strbuf_addch Unexecuted instantiation: system.c:strbuf_addch Unexecuted instantiation: remote.c:strbuf_addch Unexecuted instantiation: repository.c:strbuf_addch Unexecuted instantiation: resolve-undo.c:strbuf_addch Unexecuted instantiation: revision.c:strbuf_addch Unexecuted instantiation: setup.c:strbuf_addch Unexecuted instantiation: shallow.c:strbuf_addch Unexecuted instantiation: sparse-index.c:strbuf_addch Unexecuted instantiation: split-index.c:strbuf_addch Unexecuted instantiation: submodule-config.c:strbuf_addch Unexecuted instantiation: submodule.c:strbuf_addch Unexecuted instantiation: tag.c:strbuf_addch Unexecuted instantiation: tempfile.c:strbuf_addch Unexecuted instantiation: tmp-objdir.c:strbuf_addch Unexecuted instantiation: trailer.c:strbuf_addch Unexecuted instantiation: transport.c:strbuf_addch Unexecuted instantiation: tree-diff.c:strbuf_addch Unexecuted instantiation: tree-walk.c:strbuf_addch Unexecuted instantiation: tree.c:strbuf_addch Line | Count | Source | 233 | 101M | { | 234 | 101M | if (!strbuf_avail(sb)) | 235 | 11.9k | strbuf_grow(sb, 1); | 236 | 101M | sb->buf[sb->len++] = c; | 237 | 101M | sb->buf[sb->len] = '\0'; | 238 | 101M | } |
Unexecuted instantiation: urlmatch.c:strbuf_addch Unexecuted instantiation: worktree.c:strbuf_addch Unexecuted instantiation: ws.c:strbuf_addch Unexecuted instantiation: wt-status.c:strbuf_addch Unexecuted instantiation: advice.c:strbuf_addch Unexecuted instantiation: attr.c:strbuf_addch Unexecuted instantiation: bisect.c:strbuf_addch Unexecuted instantiation: bloom.c:strbuf_addch Unexecuted instantiation: branch.c:strbuf_addch Unexecuted instantiation: bundle-uri.c:strbuf_addch Unexecuted instantiation: bundle.c:strbuf_addch Unexecuted instantiation: cache-tree.c:strbuf_addch Unexecuted instantiation: chdir-notify.c:strbuf_addch Unexecuted instantiation: color.c:strbuf_addch Unexecuted instantiation: combine-diff.c:strbuf_addch Unexecuted instantiation: commit-graph.c:strbuf_addch Unexecuted instantiation: commit-reach.c:strbuf_addch Unexecuted instantiation: commit.c:strbuf_addch Unexecuted instantiation: connect.c:strbuf_addch Unexecuted instantiation: connected.c:strbuf_addch Unexecuted instantiation: convert.c:strbuf_addch Unexecuted instantiation: copy.c:strbuf_addch Unexecuted instantiation: diff-merges.c:strbuf_addch Unexecuted instantiation: diff-lib.c:strbuf_addch Unexecuted instantiation: diff.c:strbuf_addch Unexecuted instantiation: diffcore-order.c:strbuf_addch Unexecuted instantiation: diffcore-pickaxe.c:strbuf_addch Unexecuted instantiation: diffcore-rename.c:strbuf_addch Unexecuted instantiation: diffcore-rotate.c:strbuf_addch Unexecuted instantiation: dir-iterator.c:strbuf_addch Unexecuted instantiation: fetch-pack.c:strbuf_addch Unexecuted instantiation: fsck.c:strbuf_addch Unexecuted instantiation: gpg-interface.c:strbuf_addch Unexecuted instantiation: graph.c:strbuf_addch Unexecuted instantiation: grep.c:strbuf_addch Unexecuted instantiation: hook.c:strbuf_addch Unexecuted instantiation: line-log.c:strbuf_addch Unexecuted instantiation: list-objects-filter-options.c:strbuf_addch Unexecuted instantiation: list-objects.c:strbuf_addch Unexecuted instantiation: log-tree.c:strbuf_addch Unexecuted instantiation: loose.c:strbuf_addch Unexecuted instantiation: merge-ll.c:strbuf_addch Unexecuted instantiation: merge-ort.c:strbuf_addch Unexecuted instantiation: midx.c:strbuf_addch Unexecuted instantiation: notes-cache.c:strbuf_addch Unexecuted instantiation: notes.c:strbuf_addch Unexecuted instantiation: object-file-convert.c:strbuf_addch Unexecuted instantiation: oidset.c:strbuf_addch Unexecuted instantiation: pack-revindex.c:strbuf_addch Unexecuted instantiation: parse-options-cb.c:strbuf_addch Unexecuted instantiation: parse-options.c:strbuf_addch Unexecuted instantiation: patch-ids.c:strbuf_addch Unexecuted instantiation: pkt-line.c:strbuf_addch Unexecuted instantiation: preload-index.c:strbuf_addch Unexecuted instantiation: progress.c:strbuf_addch Unexecuted instantiation: range-diff.c:strbuf_addch Unexecuted instantiation: refspec.c:strbuf_addch Unexecuted instantiation: send-pack.c:strbuf_addch Unexecuted instantiation: sequencer.c:strbuf_addch Unexecuted instantiation: sideband.c:strbuf_addch Unexecuted instantiation: sub-process.c:strbuf_addch Unexecuted instantiation: transport-helper.c:strbuf_addch Unexecuted instantiation: unpack-trees.c:strbuf_addch Unexecuted instantiation: userdiff.c:strbuf_addch Unexecuted instantiation: xdiff-interface.c:strbuf_addch Unexecuted instantiation: apply.c:strbuf_addch Unexecuted instantiation: entry.c:strbuf_addch Unexecuted instantiation: list-objects-filter.c:strbuf_addch Unexecuted instantiation: match-trees.c:strbuf_addch Unexecuted instantiation: merge-ort-wrappers.c:strbuf_addch Unexecuted instantiation: merge.c:strbuf_addch Unexecuted instantiation: notes-utils.c:strbuf_addch Unexecuted instantiation: parallel-checkout.c:strbuf_addch Unexecuted instantiation: rebase-interactive.c:strbuf_addch Unexecuted instantiation: rerere.c:strbuf_addch Unexecuted instantiation: reset.c:strbuf_addch Unexecuted instantiation: credential.c:strbuf_addch Unexecuted instantiation: prompt.c:strbuf_addch Unexecuted instantiation: terminal.c:strbuf_addch |
239 | | |
240 | | /** |
241 | | * Add a character the specified number of times to the buffer. |
242 | | */ |
243 | | void strbuf_addchars(struct strbuf *sb, int c, size_t n); |
244 | | |
245 | | /** |
246 | | * Insert data to the given position of the buffer. The remaining contents |
247 | | * will be shifted, not overwritten. |
248 | | */ |
249 | | void strbuf_insert(struct strbuf *sb, size_t pos, const void *, size_t); |
250 | | |
251 | | /** |
252 | | * Insert a NUL-terminated string to the given position of the buffer. |
253 | | * The remaining contents will be shifted, not overwritten. It's an |
254 | | * inline function to allow the compiler to resolve strlen() calls on |
255 | | * constants at compile time. |
256 | | */ |
257 | | static inline void strbuf_insertstr(struct strbuf *sb, size_t pos, |
258 | | const char *s) |
259 | 0 | { |
260 | 0 | strbuf_insert(sb, pos, s, strlen(s)); |
261 | 0 | } Unexecuted instantiation: date.c:strbuf_insertstr Unexecuted instantiation: run-command.c:strbuf_insertstr Unexecuted instantiation: strbuf.c:strbuf_insertstr Unexecuted instantiation: strvec.c:strbuf_insertstr Unexecuted instantiation: symlinks.c:strbuf_insertstr Unexecuted instantiation: trace.c:strbuf_insertstr Unexecuted instantiation: trace2.c:strbuf_insertstr Unexecuted instantiation: tr2_cfg.c:strbuf_insertstr Unexecuted instantiation: tr2_cmd_name.c:strbuf_insertstr Unexecuted instantiation: tr2_dst.c:strbuf_insertstr Unexecuted instantiation: tr2_sid.c:strbuf_insertstr Unexecuted instantiation: tr2_sysenv.c:strbuf_insertstr Unexecuted instantiation: tr2_tgt_event.c:strbuf_insertstr Unexecuted instantiation: tr2_tgt_normal.c:strbuf_insertstr Unexecuted instantiation: tr2_tgt_perf.c:strbuf_insertstr Unexecuted instantiation: tr2_tls.c:strbuf_insertstr Unexecuted instantiation: tr2_tmr.c:strbuf_insertstr Unexecuted instantiation: usage.c:strbuf_insertstr Unexecuted instantiation: utf8.c:strbuf_insertstr Unexecuted instantiation: version.c:strbuf_insertstr Unexecuted instantiation: wrapper.c:strbuf_insertstr Unexecuted instantiation: procinfo.c:strbuf_insertstr Unexecuted instantiation: abspath.c:strbuf_insertstr Unexecuted instantiation: alias.c:strbuf_insertstr Unexecuted instantiation: config.c:strbuf_insertstr Unexecuted instantiation: dir.c:strbuf_insertstr Unexecuted instantiation: editor.c:strbuf_insertstr Unexecuted instantiation: environment.c:strbuf_insertstr Unexecuted instantiation: ewah_io.c:strbuf_insertstr Unexecuted instantiation: exec-cmd.c:strbuf_insertstr Unexecuted instantiation: fsmonitor.c:strbuf_insertstr Unexecuted instantiation: fsmonitor-ipc.c:strbuf_insertstr Unexecuted instantiation: fsmonitor-settings.c:strbuf_insertstr Unexecuted instantiation: ident.c:strbuf_insertstr Unexecuted instantiation: json-writer.c:strbuf_insertstr Unexecuted instantiation: lockfile.c:strbuf_insertstr Unexecuted instantiation: mailmap.c:strbuf_insertstr Unexecuted instantiation: name-hash.c:strbuf_insertstr Unexecuted instantiation: object-file.c:strbuf_insertstr Unexecuted instantiation: object-name.c:strbuf_insertstr Unexecuted instantiation: odb.c:strbuf_insertstr Unexecuted instantiation: pack-write.c:strbuf_insertstr Unexecuted instantiation: packfile.c:strbuf_insertstr Unexecuted instantiation: path.c:strbuf_insertstr Unexecuted instantiation: pathspec.c:strbuf_insertstr Unexecuted instantiation: pretty.c:strbuf_insertstr Unexecuted instantiation: promisor-remote.c:strbuf_insertstr Unexecuted instantiation: quote.c:strbuf_insertstr Unexecuted instantiation: read-cache.c:strbuf_insertstr Unexecuted instantiation: reflog-walk.c:strbuf_insertstr Unexecuted instantiation: refs.c:strbuf_insertstr Unexecuted instantiation: debug.c:strbuf_insertstr Unexecuted instantiation: files-backend.c:strbuf_insertstr Unexecuted instantiation: reftable-backend.c:strbuf_insertstr Unexecuted instantiation: packed-backend.c:strbuf_insertstr Unexecuted instantiation: system.c:strbuf_insertstr Unexecuted instantiation: remote.c:strbuf_insertstr Unexecuted instantiation: repository.c:strbuf_insertstr Unexecuted instantiation: resolve-undo.c:strbuf_insertstr Unexecuted instantiation: revision.c:strbuf_insertstr Unexecuted instantiation: setup.c:strbuf_insertstr Unexecuted instantiation: shallow.c:strbuf_insertstr Unexecuted instantiation: sparse-index.c:strbuf_insertstr Unexecuted instantiation: split-index.c:strbuf_insertstr Unexecuted instantiation: submodule-config.c:strbuf_insertstr Unexecuted instantiation: submodule.c:strbuf_insertstr Unexecuted instantiation: tag.c:strbuf_insertstr Unexecuted instantiation: tempfile.c:strbuf_insertstr Unexecuted instantiation: tmp-objdir.c:strbuf_insertstr Unexecuted instantiation: trailer.c:strbuf_insertstr Unexecuted instantiation: transport.c:strbuf_insertstr Unexecuted instantiation: tree-diff.c:strbuf_insertstr Unexecuted instantiation: tree-walk.c:strbuf_insertstr Unexecuted instantiation: tree.c:strbuf_insertstr Unexecuted instantiation: url.c:strbuf_insertstr Unexecuted instantiation: urlmatch.c:strbuf_insertstr Unexecuted instantiation: worktree.c:strbuf_insertstr Unexecuted instantiation: ws.c:strbuf_insertstr Unexecuted instantiation: wt-status.c:strbuf_insertstr Unexecuted instantiation: advice.c:strbuf_insertstr Unexecuted instantiation: attr.c:strbuf_insertstr Unexecuted instantiation: bisect.c:strbuf_insertstr Unexecuted instantiation: bloom.c:strbuf_insertstr Unexecuted instantiation: branch.c:strbuf_insertstr Unexecuted instantiation: bundle-uri.c:strbuf_insertstr Unexecuted instantiation: bundle.c:strbuf_insertstr Unexecuted instantiation: cache-tree.c:strbuf_insertstr Unexecuted instantiation: chdir-notify.c:strbuf_insertstr Unexecuted instantiation: color.c:strbuf_insertstr Unexecuted instantiation: combine-diff.c:strbuf_insertstr Unexecuted instantiation: commit-graph.c:strbuf_insertstr Unexecuted instantiation: commit-reach.c:strbuf_insertstr Unexecuted instantiation: commit.c:strbuf_insertstr Unexecuted instantiation: connect.c:strbuf_insertstr Unexecuted instantiation: connected.c:strbuf_insertstr Unexecuted instantiation: convert.c:strbuf_insertstr Unexecuted instantiation: copy.c:strbuf_insertstr Unexecuted instantiation: diff-merges.c:strbuf_insertstr Unexecuted instantiation: diff-lib.c:strbuf_insertstr Unexecuted instantiation: diff.c:strbuf_insertstr Unexecuted instantiation: diffcore-order.c:strbuf_insertstr Unexecuted instantiation: diffcore-pickaxe.c:strbuf_insertstr Unexecuted instantiation: diffcore-rename.c:strbuf_insertstr Unexecuted instantiation: diffcore-rotate.c:strbuf_insertstr Unexecuted instantiation: dir-iterator.c:strbuf_insertstr Unexecuted instantiation: fetch-pack.c:strbuf_insertstr Unexecuted instantiation: fsck.c:strbuf_insertstr Unexecuted instantiation: gpg-interface.c:strbuf_insertstr Unexecuted instantiation: graph.c:strbuf_insertstr Unexecuted instantiation: grep.c:strbuf_insertstr Unexecuted instantiation: hook.c:strbuf_insertstr Unexecuted instantiation: line-log.c:strbuf_insertstr Unexecuted instantiation: list-objects-filter-options.c:strbuf_insertstr Unexecuted instantiation: list-objects.c:strbuf_insertstr Unexecuted instantiation: log-tree.c:strbuf_insertstr Unexecuted instantiation: loose.c:strbuf_insertstr Unexecuted instantiation: merge-ll.c:strbuf_insertstr Unexecuted instantiation: merge-ort.c:strbuf_insertstr Unexecuted instantiation: midx.c:strbuf_insertstr Unexecuted instantiation: notes-cache.c:strbuf_insertstr Unexecuted instantiation: notes.c:strbuf_insertstr Unexecuted instantiation: object-file-convert.c:strbuf_insertstr Unexecuted instantiation: oidset.c:strbuf_insertstr Unexecuted instantiation: pack-revindex.c:strbuf_insertstr Unexecuted instantiation: parse-options-cb.c:strbuf_insertstr Unexecuted instantiation: parse-options.c:strbuf_insertstr Unexecuted instantiation: patch-ids.c:strbuf_insertstr Unexecuted instantiation: pkt-line.c:strbuf_insertstr Unexecuted instantiation: preload-index.c:strbuf_insertstr Unexecuted instantiation: progress.c:strbuf_insertstr Unexecuted instantiation: range-diff.c:strbuf_insertstr Unexecuted instantiation: refspec.c:strbuf_insertstr Unexecuted instantiation: send-pack.c:strbuf_insertstr Unexecuted instantiation: sequencer.c:strbuf_insertstr Unexecuted instantiation: sideband.c:strbuf_insertstr Unexecuted instantiation: sub-process.c:strbuf_insertstr Unexecuted instantiation: transport-helper.c:strbuf_insertstr Unexecuted instantiation: unpack-trees.c:strbuf_insertstr Unexecuted instantiation: userdiff.c:strbuf_insertstr Unexecuted instantiation: xdiff-interface.c:strbuf_insertstr Unexecuted instantiation: apply.c:strbuf_insertstr Unexecuted instantiation: entry.c:strbuf_insertstr Unexecuted instantiation: list-objects-filter.c:strbuf_insertstr Unexecuted instantiation: match-trees.c:strbuf_insertstr Unexecuted instantiation: merge-ort-wrappers.c:strbuf_insertstr Unexecuted instantiation: merge.c:strbuf_insertstr Unexecuted instantiation: notes-utils.c:strbuf_insertstr Unexecuted instantiation: parallel-checkout.c:strbuf_insertstr Unexecuted instantiation: rebase-interactive.c:strbuf_insertstr Unexecuted instantiation: rerere.c:strbuf_insertstr Unexecuted instantiation: reset.c:strbuf_insertstr Unexecuted instantiation: credential.c:strbuf_insertstr Unexecuted instantiation: prompt.c:strbuf_insertstr Unexecuted instantiation: terminal.c:strbuf_insertstr |
262 | | |
263 | | /** |
264 | | * Insert data to the given position of the buffer giving a printf format |
265 | | * string. The contents will be shifted, not overwritten. |
266 | | */ |
267 | | void strbuf_vinsertf(struct strbuf *sb, size_t pos, const char *fmt, |
268 | | va_list ap); |
269 | | |
270 | | __attribute__((format (printf, 3, 4))) |
271 | | void strbuf_insertf(struct strbuf *sb, size_t pos, const char *fmt, ...); |
272 | | |
273 | | /** |
274 | | * Remove given amount of data from a given position of the buffer. |
275 | | */ |
276 | | void strbuf_remove(struct strbuf *sb, size_t pos, size_t len); |
277 | | |
278 | | /** |
279 | | * Remove the bytes between `pos..pos+len` and replace it with the given |
280 | | * data. |
281 | | */ |
282 | | void strbuf_splice(struct strbuf *sb, size_t pos, size_t len, |
283 | | const void *data, size_t data_len); |
284 | | |
285 | | /** |
286 | | * Add a NUL-terminated string to the buffer. Each line will be prepended |
287 | | * by a comment character and a blank. |
288 | | */ |
289 | | void strbuf_add_commented_lines(struct strbuf *out, |
290 | | const char *buf, size_t size, |
291 | | const char *comment_prefix); |
292 | | |
293 | | |
294 | | /** |
295 | | * Add data of given length to the buffer. |
296 | | */ |
297 | | void strbuf_add(struct strbuf *sb, const void *data, size_t len); |
298 | | |
299 | | /** |
300 | | * Add a NUL-terminated string to the buffer. |
301 | | * |
302 | | * NOTE: This function will *always* be implemented as an inline or a macro |
303 | | * using strlen, meaning that this is efficient to write things like: |
304 | | * |
305 | | * strbuf_addstr(sb, "immediate string"); |
306 | | * |
307 | | */ |
308 | | static inline void strbuf_addstr(struct strbuf *sb, const char *s) |
309 | 77 | { |
310 | 77 | strbuf_add(sb, s, strlen(s)); |
311 | 77 | } Line | Count | Source | 309 | 77 | { | 310 | 77 | strbuf_add(sb, s, strlen(s)); | 311 | 77 | } |
Unexecuted instantiation: run-command.c:strbuf_addstr Unexecuted instantiation: strbuf.c:strbuf_addstr Unexecuted instantiation: strvec.c:strbuf_addstr Unexecuted instantiation: symlinks.c:strbuf_addstr Unexecuted instantiation: trace.c:strbuf_addstr Unexecuted instantiation: trace2.c:strbuf_addstr Unexecuted instantiation: tr2_cfg.c:strbuf_addstr Unexecuted instantiation: tr2_cmd_name.c:strbuf_addstr Unexecuted instantiation: tr2_dst.c:strbuf_addstr Unexecuted instantiation: tr2_sid.c:strbuf_addstr Unexecuted instantiation: tr2_sysenv.c:strbuf_addstr Unexecuted instantiation: tr2_tgt_event.c:strbuf_addstr Unexecuted instantiation: tr2_tgt_normal.c:strbuf_addstr Unexecuted instantiation: tr2_tgt_perf.c:strbuf_addstr Unexecuted instantiation: tr2_tls.c:strbuf_addstr Unexecuted instantiation: tr2_tmr.c:strbuf_addstr Unexecuted instantiation: usage.c:strbuf_addstr Unexecuted instantiation: utf8.c:strbuf_addstr Unexecuted instantiation: version.c:strbuf_addstr Unexecuted instantiation: wrapper.c:strbuf_addstr Unexecuted instantiation: procinfo.c:strbuf_addstr Unexecuted instantiation: abspath.c:strbuf_addstr Unexecuted instantiation: alias.c:strbuf_addstr Unexecuted instantiation: config.c:strbuf_addstr Unexecuted instantiation: dir.c:strbuf_addstr Unexecuted instantiation: editor.c:strbuf_addstr Unexecuted instantiation: environment.c:strbuf_addstr Unexecuted instantiation: ewah_io.c:strbuf_addstr Unexecuted instantiation: exec-cmd.c:strbuf_addstr Unexecuted instantiation: fsmonitor.c:strbuf_addstr Unexecuted instantiation: fsmonitor-ipc.c:strbuf_addstr Unexecuted instantiation: fsmonitor-settings.c:strbuf_addstr Unexecuted instantiation: ident.c:strbuf_addstr Unexecuted instantiation: json-writer.c:strbuf_addstr Unexecuted instantiation: lockfile.c:strbuf_addstr Unexecuted instantiation: mailmap.c:strbuf_addstr Unexecuted instantiation: name-hash.c:strbuf_addstr Unexecuted instantiation: object-file.c:strbuf_addstr Unexecuted instantiation: object-name.c:strbuf_addstr Unexecuted instantiation: odb.c:strbuf_addstr Unexecuted instantiation: pack-write.c:strbuf_addstr Unexecuted instantiation: packfile.c:strbuf_addstr Unexecuted instantiation: path.c:strbuf_addstr Unexecuted instantiation: pathspec.c:strbuf_addstr Unexecuted instantiation: pretty.c:strbuf_addstr Unexecuted instantiation: promisor-remote.c:strbuf_addstr Unexecuted instantiation: quote.c:strbuf_addstr Unexecuted instantiation: read-cache.c:strbuf_addstr Unexecuted instantiation: reflog-walk.c:strbuf_addstr Unexecuted instantiation: refs.c:strbuf_addstr Unexecuted instantiation: debug.c:strbuf_addstr Unexecuted instantiation: files-backend.c:strbuf_addstr Unexecuted instantiation: reftable-backend.c:strbuf_addstr Unexecuted instantiation: packed-backend.c:strbuf_addstr Unexecuted instantiation: system.c:strbuf_addstr Unexecuted instantiation: remote.c:strbuf_addstr Unexecuted instantiation: repository.c:strbuf_addstr Unexecuted instantiation: resolve-undo.c:strbuf_addstr Unexecuted instantiation: revision.c:strbuf_addstr Unexecuted instantiation: setup.c:strbuf_addstr Unexecuted instantiation: shallow.c:strbuf_addstr Unexecuted instantiation: sparse-index.c:strbuf_addstr Unexecuted instantiation: split-index.c:strbuf_addstr Unexecuted instantiation: submodule-config.c:strbuf_addstr Unexecuted instantiation: submodule.c:strbuf_addstr Unexecuted instantiation: tag.c:strbuf_addstr Unexecuted instantiation: tempfile.c:strbuf_addstr Unexecuted instantiation: tmp-objdir.c:strbuf_addstr Unexecuted instantiation: trailer.c:strbuf_addstr Unexecuted instantiation: transport.c:strbuf_addstr Unexecuted instantiation: tree-diff.c:strbuf_addstr Unexecuted instantiation: tree-walk.c:strbuf_addstr Unexecuted instantiation: tree.c:strbuf_addstr Unexecuted instantiation: url.c:strbuf_addstr Unexecuted instantiation: urlmatch.c:strbuf_addstr Unexecuted instantiation: worktree.c:strbuf_addstr Unexecuted instantiation: ws.c:strbuf_addstr Unexecuted instantiation: wt-status.c:strbuf_addstr Unexecuted instantiation: advice.c:strbuf_addstr Unexecuted instantiation: attr.c:strbuf_addstr Unexecuted instantiation: bisect.c:strbuf_addstr Unexecuted instantiation: bloom.c:strbuf_addstr Unexecuted instantiation: branch.c:strbuf_addstr Unexecuted instantiation: bundle-uri.c:strbuf_addstr Unexecuted instantiation: bundle.c:strbuf_addstr Unexecuted instantiation: cache-tree.c:strbuf_addstr Unexecuted instantiation: chdir-notify.c:strbuf_addstr Unexecuted instantiation: color.c:strbuf_addstr Unexecuted instantiation: combine-diff.c:strbuf_addstr Unexecuted instantiation: commit-graph.c:strbuf_addstr Unexecuted instantiation: commit-reach.c:strbuf_addstr Unexecuted instantiation: commit.c:strbuf_addstr Unexecuted instantiation: connect.c:strbuf_addstr Unexecuted instantiation: connected.c:strbuf_addstr Unexecuted instantiation: convert.c:strbuf_addstr Unexecuted instantiation: copy.c:strbuf_addstr Unexecuted instantiation: diff-merges.c:strbuf_addstr Unexecuted instantiation: diff-lib.c:strbuf_addstr Unexecuted instantiation: diff.c:strbuf_addstr Unexecuted instantiation: diffcore-order.c:strbuf_addstr Unexecuted instantiation: diffcore-pickaxe.c:strbuf_addstr Unexecuted instantiation: diffcore-rename.c:strbuf_addstr Unexecuted instantiation: diffcore-rotate.c:strbuf_addstr Unexecuted instantiation: dir-iterator.c:strbuf_addstr Unexecuted instantiation: fetch-pack.c:strbuf_addstr Unexecuted instantiation: fsck.c:strbuf_addstr Unexecuted instantiation: gpg-interface.c:strbuf_addstr Unexecuted instantiation: graph.c:strbuf_addstr Unexecuted instantiation: grep.c:strbuf_addstr Unexecuted instantiation: hook.c:strbuf_addstr Unexecuted instantiation: line-log.c:strbuf_addstr Unexecuted instantiation: list-objects-filter-options.c:strbuf_addstr Unexecuted instantiation: list-objects.c:strbuf_addstr Unexecuted instantiation: log-tree.c:strbuf_addstr Unexecuted instantiation: loose.c:strbuf_addstr Unexecuted instantiation: merge-ll.c:strbuf_addstr Unexecuted instantiation: merge-ort.c:strbuf_addstr Unexecuted instantiation: midx.c:strbuf_addstr Unexecuted instantiation: notes-cache.c:strbuf_addstr Unexecuted instantiation: notes.c:strbuf_addstr Unexecuted instantiation: object-file-convert.c:strbuf_addstr Unexecuted instantiation: oidset.c:strbuf_addstr Unexecuted instantiation: pack-revindex.c:strbuf_addstr Unexecuted instantiation: parse-options-cb.c:strbuf_addstr Unexecuted instantiation: parse-options.c:strbuf_addstr Unexecuted instantiation: patch-ids.c:strbuf_addstr Unexecuted instantiation: pkt-line.c:strbuf_addstr Unexecuted instantiation: preload-index.c:strbuf_addstr Unexecuted instantiation: progress.c:strbuf_addstr Unexecuted instantiation: range-diff.c:strbuf_addstr Unexecuted instantiation: refspec.c:strbuf_addstr Unexecuted instantiation: send-pack.c:strbuf_addstr Unexecuted instantiation: sequencer.c:strbuf_addstr Unexecuted instantiation: sideband.c:strbuf_addstr Unexecuted instantiation: sub-process.c:strbuf_addstr Unexecuted instantiation: transport-helper.c:strbuf_addstr Unexecuted instantiation: unpack-trees.c:strbuf_addstr Unexecuted instantiation: userdiff.c:strbuf_addstr Unexecuted instantiation: xdiff-interface.c:strbuf_addstr Unexecuted instantiation: apply.c:strbuf_addstr Unexecuted instantiation: entry.c:strbuf_addstr Unexecuted instantiation: list-objects-filter.c:strbuf_addstr Unexecuted instantiation: match-trees.c:strbuf_addstr Unexecuted instantiation: merge-ort-wrappers.c:strbuf_addstr Unexecuted instantiation: merge.c:strbuf_addstr Unexecuted instantiation: notes-utils.c:strbuf_addstr Unexecuted instantiation: parallel-checkout.c:strbuf_addstr Unexecuted instantiation: rebase-interactive.c:strbuf_addstr Unexecuted instantiation: rerere.c:strbuf_addstr Unexecuted instantiation: reset.c:strbuf_addstr Unexecuted instantiation: credential.c:strbuf_addstr Unexecuted instantiation: prompt.c:strbuf_addstr Unexecuted instantiation: terminal.c:strbuf_addstr |
312 | | |
313 | | /** |
314 | | * Add a NUL-terminated string the specified number of times to the buffer. |
315 | | */ |
316 | | void strbuf_addstrings(struct strbuf *sb, const char *s, size_t n); |
317 | | |
318 | | /** |
319 | | * Copy the contents of another buffer at the end of the current one. |
320 | | */ |
321 | | void strbuf_addbuf(struct strbuf *sb, const struct strbuf *sb2); |
322 | | |
323 | | /** |
324 | | * Join the arguments into a buffer. `delim` is put between every |
325 | | * two arguments. |
326 | | */ |
327 | | const char *strbuf_join_argv(struct strbuf *buf, int argc, |
328 | | const char **argv, char delim); |
329 | | |
330 | | /** |
331 | | * Used with `strbuf_expand_step` to expand the literals %n and %x |
332 | | * followed by two hexadecimal digits. Returns the number of recognized |
333 | | * characters. |
334 | | */ |
335 | | size_t strbuf_expand_literal(struct strbuf *sb, const char *placeholder); |
336 | | |
337 | | /** |
338 | | * If the string pointed to by `formatp` contains a percent sign ("%"), |
339 | | * advance it to point to the character following the next one and |
340 | | * return 1, otherwise return 0. Append the substring before that |
341 | | * percent sign to `sb`, or the whole string if there is none. |
342 | | */ |
343 | | int strbuf_expand_step(struct strbuf *sb, const char **formatp); |
344 | | |
345 | | /** |
346 | | * Used with `strbuf_expand_step` to report unknown placeholders. |
347 | | */ |
348 | | void strbuf_expand_bad_format(const char *format, const char *command); |
349 | | |
350 | | /** |
351 | | * Append the contents of one strbuf to another, quoting any |
352 | | * percent signs ("%") into double-percents ("%%") in the |
353 | | * destination. This is useful for literal data to be fed to either |
354 | | * strbuf_expand or to the *printf family of functions. |
355 | | */ |
356 | | void strbuf_addbuf_percentquote(struct strbuf *dst, const struct strbuf *src); |
357 | | |
358 | 0 | #define STRBUF_ENCODE_SLASH 1 |
359 | 0 | #define STRBUF_ENCODE_HOST_AND_PORT 2 |
360 | | |
361 | | /** |
362 | | * Append the contents of a string to a strbuf, percent-encoding any characters |
363 | | * that are needed to be encoded for a URL. |
364 | | * |
365 | | * If STRBUF_ENCODE_SLASH is set in flags, percent-encode slashes. Otherwise, |
366 | | * slashes are not percent-encoded. |
367 | | */ |
368 | | void strbuf_add_percentencode(struct strbuf *dst, const char *src, int flags); |
369 | | |
370 | | enum humanise_flags { |
371 | | /* |
372 | | * Use rate based units for humanised values. |
373 | | */ |
374 | | HUMANISE_RATE = (1 << 0), |
375 | | /* |
376 | | * Use compact "B" unit symbol instead of "byte/bytes" for humanised |
377 | | * values. |
378 | | */ |
379 | | HUMANISE_COMPACT = (1 << 1), |
380 | | }; |
381 | | |
382 | | /** |
383 | | * Converts the given byte size into a downscaled human-readable value and |
384 | | * corresponding unit as two separate strings. |
385 | | */ |
386 | | void humanise_bytes(off_t bytes, char **value, const char **unit, |
387 | | unsigned flags); |
388 | | |
389 | | /** |
390 | | * Converts the given count into a downscaled human-readable value and |
391 | | * corresponding unit as two separate strings. |
392 | | */ |
393 | | void humanise_count(size_t count, char **value, const char **unit); |
394 | | |
395 | | /** |
396 | | * Append the given byte size as a human-readable string (i.e. 12.23 KiB, |
397 | | * 3.50 MiB). |
398 | | */ |
399 | | void strbuf_humanise_bytes(struct strbuf *buf, off_t bytes); |
400 | | |
401 | | /** |
402 | | * Append the given byte rate as a human-readable string (i.e. 12.23 KiB/s, |
403 | | * 3.50 MiB/s). |
404 | | */ |
405 | | void strbuf_humanise_rate(struct strbuf *buf, off_t bytes); |
406 | | |
407 | | /** |
408 | | * Add a formatted string to the buffer. |
409 | | */ |
410 | | __attribute__((format (printf,2,3))) |
411 | | void strbuf_addf(struct strbuf *sb, const char *fmt, ...); |
412 | | |
413 | | /** |
414 | | * Add a formatted string prepended by a comment character and a |
415 | | * blank to the buffer. |
416 | | */ |
417 | | __attribute__((format (printf, 3, 4))) |
418 | | void strbuf_commented_addf(struct strbuf *sb, const char *comment_prefix, const char *fmt, ...); |
419 | | |
420 | | __attribute__((format (printf,2,0))) |
421 | | void strbuf_vaddf(struct strbuf *sb, const char *fmt, va_list ap); |
422 | | |
423 | | /** |
424 | | * Add the time specified by `tm`, as formatted by `strftime`. |
425 | | * `tz_offset` is in decimal hhmm format, e.g. -600 means six hours west |
426 | | * of Greenwich, and it's used to expand %z internally. However, tokens |
427 | | * with modifiers (e.g. %Ez) are passed to `strftime`. |
428 | | * `suppress_tz_name`, when set, expands %Z internally to the empty |
429 | | * string rather than passing it to `strftime`. |
430 | | */ |
431 | | void strbuf_addftime(struct strbuf *sb, const char *fmt, |
432 | | const struct tm *tm, int tz_offset, |
433 | | int suppress_tz_name); |
434 | | |
435 | | /** |
436 | | * Read a given size of data from a FILE* pointer to the buffer. |
437 | | * |
438 | | * NOTE: The buffer is rewound if the read fails. If -1 is returned, |
439 | | * `errno` must be consulted, like you would do for `read(3)`. |
440 | | * `strbuf_read()`, `strbuf_read_file()` and `strbuf_getline_*()` |
441 | | * family of functions have the same behaviour as well. |
442 | | */ |
443 | | size_t strbuf_fread(struct strbuf *sb, size_t size, FILE *file); |
444 | | |
445 | | /** |
446 | | * Read the contents of a given file descriptor. The third argument can be |
447 | | * used to give a hint about the file size, to avoid reallocs. If read fails, |
448 | | * any partial read is undone. |
449 | | */ |
450 | | ssize_t strbuf_read(struct strbuf *sb, int fd, size_t hint); |
451 | | |
452 | | /** |
453 | | * Read the contents of a given file descriptor partially by using only one |
454 | | * attempt of xread. The third argument can be used to give a hint about the |
455 | | * file size, to avoid reallocs. Returns the number of new bytes appended to |
456 | | * the sb. |
457 | | */ |
458 | | ssize_t strbuf_read_once(struct strbuf *sb, int fd, size_t hint); |
459 | | |
460 | | /** |
461 | | * Read the contents of a file, specified by its path. The third argument |
462 | | * can be used to give a hint about the file size, to avoid reallocs. |
463 | | * Return the number of bytes read or a negative value if some error |
464 | | * occurred while opening or reading the file. |
465 | | */ |
466 | | ssize_t strbuf_read_file(struct strbuf *sb, const char *path, size_t hint); |
467 | | |
468 | | /** |
469 | | * Read the target of a symbolic link, specified by its path. The third |
470 | | * argument can be used to give a hint about the size, to avoid reallocs. |
471 | | */ |
472 | | int strbuf_readlink(struct strbuf *sb, const char *path, size_t hint); |
473 | | |
474 | | /** |
475 | | * Write the whole content of the strbuf to the stream not stopping at |
476 | | * NUL bytes. |
477 | | */ |
478 | | ssize_t strbuf_write(struct strbuf *sb, FILE *stream); |
479 | | |
480 | | /** |
481 | | * Read from a FILE * until the specified terminator is encountered, |
482 | | * overwriting the existing contents of the strbuf. |
483 | | * |
484 | | * Reading stops after the terminator or at EOF. The terminator is |
485 | | * removed from the buffer before returning. If the terminator is LF |
486 | | * and if it is preceded by a CR, then the whole CRLF is stripped. |
487 | | * Returns 0 unless there was nothing left before EOF, in which case |
488 | | * it returns `EOF`. |
489 | | */ |
490 | | int strbuf_getdelim_strip_crlf(struct strbuf *sb, FILE *fp, int term); |
491 | | |
492 | | /** |
493 | | * Read a line from a FILE *, overwriting the existing contents of |
494 | | * the strbuf. The strbuf_getline*() family of functions share |
495 | | * this signature, but have different line termination conventions. |
496 | | * |
497 | | * Reading stops after the terminator or at EOF. The terminator |
498 | | * is removed from the buffer before returning. Returns 0 unless |
499 | | * there was nothing left before EOF, in which case it returns `EOF`. |
500 | | */ |
501 | | typedef int (*strbuf_getline_fn)(struct strbuf *, FILE *); |
502 | | |
503 | | /* Uses LF as the line terminator */ |
504 | | int strbuf_getline_lf(struct strbuf *sb, FILE *fp); |
505 | | |
506 | | /* Uses NUL as the line terminator */ |
507 | | int strbuf_getline_nul(struct strbuf *sb, FILE *fp); |
508 | | |
509 | | /* |
510 | | * Similar to strbuf_getline_lf(), but additionally treats a CR that |
511 | | * comes immediately before the LF as part of the terminator. |
512 | | * This is the most friendly version to be used to read "text" files |
513 | | * that can come from platforms whose native text format is CRLF |
514 | | * terminated. |
515 | | */ |
516 | | int strbuf_getline(struct strbuf *sb, FILE *file); |
517 | | |
518 | | |
519 | | /** |
520 | | * Like `strbuf_getline`, but keeps the trailing terminator (if |
521 | | * any) in the buffer. |
522 | | */ |
523 | | int strbuf_getwholeline(struct strbuf *sb, FILE *file, int term); |
524 | | |
525 | | /** |
526 | | * Like `strbuf_getwholeline`, but appends the line instead of |
527 | | * resetting the buffer first. |
528 | | */ |
529 | | int strbuf_appendwholeline(struct strbuf *sb, FILE *file, int term); |
530 | | |
531 | | /** |
532 | | * Like `strbuf_getwholeline`, but operates on a file descriptor. |
533 | | * It reads one character at a time, so it is very slow. Do not |
534 | | * use it unless you need the correct position in the file |
535 | | * descriptor. |
536 | | */ |
537 | | int strbuf_getwholeline_fd(struct strbuf *sb, int fd, int term); |
538 | | |
539 | | /** |
540 | | * Set the buffer to the path of the current working directory. |
541 | | */ |
542 | | int strbuf_getcwd(struct strbuf *sb); |
543 | | |
544 | | /** |
545 | | * Normalize in-place the path contained in the strbuf. See |
546 | | * normalize_path_copy() for details. If an error occurs, the contents of "sb" |
547 | | * are left untouched, and -1 is returned. |
548 | | */ |
549 | | int strbuf_normalize_path(struct strbuf *sb); |
550 | | |
551 | | /** |
552 | | * Strip whitespace from a buffer. If comment_prefix is non-NULL, |
553 | | * then lines beginning with that character are considered comments, |
554 | | * thus removed. |
555 | | */ |
556 | | void strbuf_stripspace(struct strbuf *buf, const char *comment_prefix); |
557 | | |
558 | | static inline int strbuf_strip_suffix(struct strbuf *sb, const char *suffix) |
559 | 0 | { |
560 | 0 | if (strip_suffix_mem(sb->buf, &sb->len, suffix)) { |
561 | 0 | strbuf_setlen(sb, sb->len); |
562 | 0 | return 1; |
563 | 0 | } else |
564 | 0 | return 0; |
565 | 0 | } Unexecuted instantiation: date.c:strbuf_strip_suffix Unexecuted instantiation: run-command.c:strbuf_strip_suffix Unexecuted instantiation: strbuf.c:strbuf_strip_suffix Unexecuted instantiation: strvec.c:strbuf_strip_suffix Unexecuted instantiation: symlinks.c:strbuf_strip_suffix Unexecuted instantiation: trace.c:strbuf_strip_suffix Unexecuted instantiation: trace2.c:strbuf_strip_suffix Unexecuted instantiation: tr2_cfg.c:strbuf_strip_suffix Unexecuted instantiation: tr2_cmd_name.c:strbuf_strip_suffix Unexecuted instantiation: tr2_dst.c:strbuf_strip_suffix Unexecuted instantiation: tr2_sid.c:strbuf_strip_suffix Unexecuted instantiation: tr2_sysenv.c:strbuf_strip_suffix Unexecuted instantiation: tr2_tgt_event.c:strbuf_strip_suffix Unexecuted instantiation: tr2_tgt_normal.c:strbuf_strip_suffix Unexecuted instantiation: tr2_tgt_perf.c:strbuf_strip_suffix Unexecuted instantiation: tr2_tls.c:strbuf_strip_suffix Unexecuted instantiation: tr2_tmr.c:strbuf_strip_suffix Unexecuted instantiation: usage.c:strbuf_strip_suffix Unexecuted instantiation: utf8.c:strbuf_strip_suffix Unexecuted instantiation: version.c:strbuf_strip_suffix Unexecuted instantiation: wrapper.c:strbuf_strip_suffix Unexecuted instantiation: procinfo.c:strbuf_strip_suffix Unexecuted instantiation: abspath.c:strbuf_strip_suffix Unexecuted instantiation: alias.c:strbuf_strip_suffix Unexecuted instantiation: config.c:strbuf_strip_suffix Unexecuted instantiation: dir.c:strbuf_strip_suffix Unexecuted instantiation: editor.c:strbuf_strip_suffix Unexecuted instantiation: environment.c:strbuf_strip_suffix Unexecuted instantiation: ewah_io.c:strbuf_strip_suffix Unexecuted instantiation: exec-cmd.c:strbuf_strip_suffix Unexecuted instantiation: fsmonitor.c:strbuf_strip_suffix Unexecuted instantiation: fsmonitor-ipc.c:strbuf_strip_suffix Unexecuted instantiation: fsmonitor-settings.c:strbuf_strip_suffix Unexecuted instantiation: ident.c:strbuf_strip_suffix Unexecuted instantiation: json-writer.c:strbuf_strip_suffix Unexecuted instantiation: lockfile.c:strbuf_strip_suffix Unexecuted instantiation: mailmap.c:strbuf_strip_suffix Unexecuted instantiation: name-hash.c:strbuf_strip_suffix Unexecuted instantiation: object-file.c:strbuf_strip_suffix Unexecuted instantiation: object-name.c:strbuf_strip_suffix Unexecuted instantiation: odb.c:strbuf_strip_suffix Unexecuted instantiation: pack-write.c:strbuf_strip_suffix Unexecuted instantiation: packfile.c:strbuf_strip_suffix Unexecuted instantiation: path.c:strbuf_strip_suffix Unexecuted instantiation: pathspec.c:strbuf_strip_suffix Unexecuted instantiation: pretty.c:strbuf_strip_suffix Unexecuted instantiation: promisor-remote.c:strbuf_strip_suffix Unexecuted instantiation: quote.c:strbuf_strip_suffix Unexecuted instantiation: read-cache.c:strbuf_strip_suffix Unexecuted instantiation: reflog-walk.c:strbuf_strip_suffix Unexecuted instantiation: refs.c:strbuf_strip_suffix Unexecuted instantiation: debug.c:strbuf_strip_suffix Unexecuted instantiation: files-backend.c:strbuf_strip_suffix Unexecuted instantiation: reftable-backend.c:strbuf_strip_suffix Unexecuted instantiation: packed-backend.c:strbuf_strip_suffix Unexecuted instantiation: system.c:strbuf_strip_suffix Unexecuted instantiation: remote.c:strbuf_strip_suffix Unexecuted instantiation: repository.c:strbuf_strip_suffix Unexecuted instantiation: resolve-undo.c:strbuf_strip_suffix Unexecuted instantiation: revision.c:strbuf_strip_suffix Unexecuted instantiation: setup.c:strbuf_strip_suffix Unexecuted instantiation: shallow.c:strbuf_strip_suffix Unexecuted instantiation: sparse-index.c:strbuf_strip_suffix Unexecuted instantiation: split-index.c:strbuf_strip_suffix Unexecuted instantiation: submodule-config.c:strbuf_strip_suffix Unexecuted instantiation: submodule.c:strbuf_strip_suffix Unexecuted instantiation: tag.c:strbuf_strip_suffix Unexecuted instantiation: tempfile.c:strbuf_strip_suffix Unexecuted instantiation: tmp-objdir.c:strbuf_strip_suffix Unexecuted instantiation: trailer.c:strbuf_strip_suffix Unexecuted instantiation: transport.c:strbuf_strip_suffix Unexecuted instantiation: tree-diff.c:strbuf_strip_suffix Unexecuted instantiation: tree-walk.c:strbuf_strip_suffix Unexecuted instantiation: tree.c:strbuf_strip_suffix Unexecuted instantiation: url.c:strbuf_strip_suffix Unexecuted instantiation: urlmatch.c:strbuf_strip_suffix Unexecuted instantiation: worktree.c:strbuf_strip_suffix Unexecuted instantiation: ws.c:strbuf_strip_suffix Unexecuted instantiation: wt-status.c:strbuf_strip_suffix Unexecuted instantiation: advice.c:strbuf_strip_suffix Unexecuted instantiation: attr.c:strbuf_strip_suffix Unexecuted instantiation: bisect.c:strbuf_strip_suffix Unexecuted instantiation: bloom.c:strbuf_strip_suffix Unexecuted instantiation: branch.c:strbuf_strip_suffix Unexecuted instantiation: bundle-uri.c:strbuf_strip_suffix Unexecuted instantiation: bundle.c:strbuf_strip_suffix Unexecuted instantiation: cache-tree.c:strbuf_strip_suffix Unexecuted instantiation: chdir-notify.c:strbuf_strip_suffix Unexecuted instantiation: color.c:strbuf_strip_suffix Unexecuted instantiation: combine-diff.c:strbuf_strip_suffix Unexecuted instantiation: commit-graph.c:strbuf_strip_suffix Unexecuted instantiation: commit-reach.c:strbuf_strip_suffix Unexecuted instantiation: commit.c:strbuf_strip_suffix Unexecuted instantiation: connect.c:strbuf_strip_suffix Unexecuted instantiation: connected.c:strbuf_strip_suffix Unexecuted instantiation: convert.c:strbuf_strip_suffix Unexecuted instantiation: copy.c:strbuf_strip_suffix Unexecuted instantiation: diff-merges.c:strbuf_strip_suffix Unexecuted instantiation: diff-lib.c:strbuf_strip_suffix Unexecuted instantiation: diff.c:strbuf_strip_suffix Unexecuted instantiation: diffcore-order.c:strbuf_strip_suffix Unexecuted instantiation: diffcore-pickaxe.c:strbuf_strip_suffix Unexecuted instantiation: diffcore-rename.c:strbuf_strip_suffix Unexecuted instantiation: diffcore-rotate.c:strbuf_strip_suffix Unexecuted instantiation: dir-iterator.c:strbuf_strip_suffix Unexecuted instantiation: fetch-pack.c:strbuf_strip_suffix Unexecuted instantiation: fsck.c:strbuf_strip_suffix Unexecuted instantiation: gpg-interface.c:strbuf_strip_suffix Unexecuted instantiation: graph.c:strbuf_strip_suffix Unexecuted instantiation: grep.c:strbuf_strip_suffix Unexecuted instantiation: hook.c:strbuf_strip_suffix Unexecuted instantiation: line-log.c:strbuf_strip_suffix Unexecuted instantiation: list-objects-filter-options.c:strbuf_strip_suffix Unexecuted instantiation: list-objects.c:strbuf_strip_suffix Unexecuted instantiation: log-tree.c:strbuf_strip_suffix Unexecuted instantiation: loose.c:strbuf_strip_suffix Unexecuted instantiation: merge-ll.c:strbuf_strip_suffix Unexecuted instantiation: merge-ort.c:strbuf_strip_suffix Unexecuted instantiation: midx.c:strbuf_strip_suffix Unexecuted instantiation: notes-cache.c:strbuf_strip_suffix Unexecuted instantiation: notes.c:strbuf_strip_suffix Unexecuted instantiation: object-file-convert.c:strbuf_strip_suffix Unexecuted instantiation: oidset.c:strbuf_strip_suffix Unexecuted instantiation: pack-revindex.c:strbuf_strip_suffix Unexecuted instantiation: parse-options-cb.c:strbuf_strip_suffix Unexecuted instantiation: parse-options.c:strbuf_strip_suffix Unexecuted instantiation: patch-ids.c:strbuf_strip_suffix Unexecuted instantiation: pkt-line.c:strbuf_strip_suffix Unexecuted instantiation: preload-index.c:strbuf_strip_suffix Unexecuted instantiation: progress.c:strbuf_strip_suffix Unexecuted instantiation: range-diff.c:strbuf_strip_suffix Unexecuted instantiation: refspec.c:strbuf_strip_suffix Unexecuted instantiation: send-pack.c:strbuf_strip_suffix Unexecuted instantiation: sequencer.c:strbuf_strip_suffix Unexecuted instantiation: sideband.c:strbuf_strip_suffix Unexecuted instantiation: sub-process.c:strbuf_strip_suffix Unexecuted instantiation: transport-helper.c:strbuf_strip_suffix Unexecuted instantiation: unpack-trees.c:strbuf_strip_suffix Unexecuted instantiation: userdiff.c:strbuf_strip_suffix Unexecuted instantiation: xdiff-interface.c:strbuf_strip_suffix Unexecuted instantiation: apply.c:strbuf_strip_suffix Unexecuted instantiation: entry.c:strbuf_strip_suffix Unexecuted instantiation: list-objects-filter.c:strbuf_strip_suffix Unexecuted instantiation: match-trees.c:strbuf_strip_suffix Unexecuted instantiation: merge-ort-wrappers.c:strbuf_strip_suffix Unexecuted instantiation: merge.c:strbuf_strip_suffix Unexecuted instantiation: notes-utils.c:strbuf_strip_suffix Unexecuted instantiation: parallel-checkout.c:strbuf_strip_suffix Unexecuted instantiation: rebase-interactive.c:strbuf_strip_suffix Unexecuted instantiation: rerere.c:strbuf_strip_suffix Unexecuted instantiation: reset.c:strbuf_strip_suffix Unexecuted instantiation: credential.c:strbuf_strip_suffix Unexecuted instantiation: prompt.c:strbuf_strip_suffix Unexecuted instantiation: terminal.c:strbuf_strip_suffix |
566 | | |
567 | | /** |
568 | | * Split str (of length slen) at the specified terminator character. |
569 | | * Return a null-terminated array of pointers to strbuf objects |
570 | | * holding the substrings. The substrings include the terminator, |
571 | | * except for the last substring, which might be unterminated if the |
572 | | * original string did not end with a terminator. If max is positive, |
573 | | * then split the string into at most max substrings (with the last |
574 | | * substring containing everything following the (max-1)th terminator |
575 | | * character). |
576 | | * |
577 | | * The most generic form is `strbuf_split_buf`, which takes an arbitrary |
578 | | * pointer/len buffer. The `_str` variant takes a NUL-terminated string, |
579 | | * the `_max` variant takes a strbuf, and just `strbuf_split` is a convenience |
580 | | * wrapper to drop the `max` parameter. |
581 | | * |
582 | | * For lighter-weight alternatives, see string_list_split() and |
583 | | * string_list_split_in_place(). |
584 | | */ |
585 | | struct strbuf **strbuf_split_buf(const char *str, size_t len, |
586 | | int terminator, int max); |
587 | | |
588 | | static inline struct strbuf **strbuf_split_str(const char *str, |
589 | | int terminator, int max) |
590 | 0 | { |
591 | 0 | return strbuf_split_buf(str, strlen(str), terminator, max); |
592 | 0 | } Unexecuted instantiation: date.c:strbuf_split_str Unexecuted instantiation: run-command.c:strbuf_split_str Unexecuted instantiation: strbuf.c:strbuf_split_str Unexecuted instantiation: strvec.c:strbuf_split_str Unexecuted instantiation: symlinks.c:strbuf_split_str Unexecuted instantiation: trace.c:strbuf_split_str Unexecuted instantiation: trace2.c:strbuf_split_str Unexecuted instantiation: tr2_cfg.c:strbuf_split_str Unexecuted instantiation: tr2_cmd_name.c:strbuf_split_str Unexecuted instantiation: tr2_dst.c:strbuf_split_str Unexecuted instantiation: tr2_sid.c:strbuf_split_str Unexecuted instantiation: tr2_sysenv.c:strbuf_split_str Unexecuted instantiation: tr2_tgt_event.c:strbuf_split_str Unexecuted instantiation: tr2_tgt_normal.c:strbuf_split_str Unexecuted instantiation: tr2_tgt_perf.c:strbuf_split_str Unexecuted instantiation: tr2_tls.c:strbuf_split_str Unexecuted instantiation: tr2_tmr.c:strbuf_split_str Unexecuted instantiation: usage.c:strbuf_split_str Unexecuted instantiation: utf8.c:strbuf_split_str Unexecuted instantiation: version.c:strbuf_split_str Unexecuted instantiation: wrapper.c:strbuf_split_str Unexecuted instantiation: procinfo.c:strbuf_split_str Unexecuted instantiation: abspath.c:strbuf_split_str Unexecuted instantiation: alias.c:strbuf_split_str Unexecuted instantiation: config.c:strbuf_split_str Unexecuted instantiation: dir.c:strbuf_split_str Unexecuted instantiation: editor.c:strbuf_split_str Unexecuted instantiation: environment.c:strbuf_split_str Unexecuted instantiation: ewah_io.c:strbuf_split_str Unexecuted instantiation: exec-cmd.c:strbuf_split_str Unexecuted instantiation: fsmonitor.c:strbuf_split_str Unexecuted instantiation: fsmonitor-ipc.c:strbuf_split_str Unexecuted instantiation: fsmonitor-settings.c:strbuf_split_str Unexecuted instantiation: ident.c:strbuf_split_str Unexecuted instantiation: json-writer.c:strbuf_split_str Unexecuted instantiation: lockfile.c:strbuf_split_str Unexecuted instantiation: mailmap.c:strbuf_split_str Unexecuted instantiation: name-hash.c:strbuf_split_str Unexecuted instantiation: object-file.c:strbuf_split_str Unexecuted instantiation: object-name.c:strbuf_split_str Unexecuted instantiation: odb.c:strbuf_split_str Unexecuted instantiation: pack-write.c:strbuf_split_str Unexecuted instantiation: packfile.c:strbuf_split_str Unexecuted instantiation: path.c:strbuf_split_str Unexecuted instantiation: pathspec.c:strbuf_split_str Unexecuted instantiation: pretty.c:strbuf_split_str Unexecuted instantiation: promisor-remote.c:strbuf_split_str Unexecuted instantiation: quote.c:strbuf_split_str Unexecuted instantiation: read-cache.c:strbuf_split_str Unexecuted instantiation: reflog-walk.c:strbuf_split_str Unexecuted instantiation: refs.c:strbuf_split_str Unexecuted instantiation: debug.c:strbuf_split_str Unexecuted instantiation: files-backend.c:strbuf_split_str Unexecuted instantiation: reftable-backend.c:strbuf_split_str Unexecuted instantiation: packed-backend.c:strbuf_split_str Unexecuted instantiation: system.c:strbuf_split_str Unexecuted instantiation: remote.c:strbuf_split_str Unexecuted instantiation: repository.c:strbuf_split_str Unexecuted instantiation: resolve-undo.c:strbuf_split_str Unexecuted instantiation: revision.c:strbuf_split_str Unexecuted instantiation: setup.c:strbuf_split_str Unexecuted instantiation: shallow.c:strbuf_split_str Unexecuted instantiation: sparse-index.c:strbuf_split_str Unexecuted instantiation: split-index.c:strbuf_split_str Unexecuted instantiation: submodule-config.c:strbuf_split_str Unexecuted instantiation: submodule.c:strbuf_split_str Unexecuted instantiation: tag.c:strbuf_split_str Unexecuted instantiation: tempfile.c:strbuf_split_str Unexecuted instantiation: tmp-objdir.c:strbuf_split_str Unexecuted instantiation: trailer.c:strbuf_split_str Unexecuted instantiation: transport.c:strbuf_split_str Unexecuted instantiation: tree-diff.c:strbuf_split_str Unexecuted instantiation: tree-walk.c:strbuf_split_str Unexecuted instantiation: tree.c:strbuf_split_str Unexecuted instantiation: url.c:strbuf_split_str Unexecuted instantiation: urlmatch.c:strbuf_split_str Unexecuted instantiation: worktree.c:strbuf_split_str Unexecuted instantiation: ws.c:strbuf_split_str Unexecuted instantiation: wt-status.c:strbuf_split_str Unexecuted instantiation: advice.c:strbuf_split_str Unexecuted instantiation: attr.c:strbuf_split_str Unexecuted instantiation: bisect.c:strbuf_split_str Unexecuted instantiation: bloom.c:strbuf_split_str Unexecuted instantiation: branch.c:strbuf_split_str Unexecuted instantiation: bundle-uri.c:strbuf_split_str Unexecuted instantiation: bundle.c:strbuf_split_str Unexecuted instantiation: cache-tree.c:strbuf_split_str Unexecuted instantiation: chdir-notify.c:strbuf_split_str Unexecuted instantiation: color.c:strbuf_split_str Unexecuted instantiation: combine-diff.c:strbuf_split_str Unexecuted instantiation: commit-graph.c:strbuf_split_str Unexecuted instantiation: commit-reach.c:strbuf_split_str Unexecuted instantiation: commit.c:strbuf_split_str Unexecuted instantiation: connect.c:strbuf_split_str Unexecuted instantiation: connected.c:strbuf_split_str Unexecuted instantiation: convert.c:strbuf_split_str Unexecuted instantiation: copy.c:strbuf_split_str Unexecuted instantiation: diff-merges.c:strbuf_split_str Unexecuted instantiation: diff-lib.c:strbuf_split_str Unexecuted instantiation: diff.c:strbuf_split_str Unexecuted instantiation: diffcore-order.c:strbuf_split_str Unexecuted instantiation: diffcore-pickaxe.c:strbuf_split_str Unexecuted instantiation: diffcore-rename.c:strbuf_split_str Unexecuted instantiation: diffcore-rotate.c:strbuf_split_str Unexecuted instantiation: dir-iterator.c:strbuf_split_str Unexecuted instantiation: fetch-pack.c:strbuf_split_str Unexecuted instantiation: fsck.c:strbuf_split_str Unexecuted instantiation: gpg-interface.c:strbuf_split_str Unexecuted instantiation: graph.c:strbuf_split_str Unexecuted instantiation: grep.c:strbuf_split_str Unexecuted instantiation: hook.c:strbuf_split_str Unexecuted instantiation: line-log.c:strbuf_split_str Unexecuted instantiation: list-objects-filter-options.c:strbuf_split_str Unexecuted instantiation: list-objects.c:strbuf_split_str Unexecuted instantiation: log-tree.c:strbuf_split_str Unexecuted instantiation: loose.c:strbuf_split_str Unexecuted instantiation: merge-ll.c:strbuf_split_str Unexecuted instantiation: merge-ort.c:strbuf_split_str Unexecuted instantiation: midx.c:strbuf_split_str Unexecuted instantiation: notes-cache.c:strbuf_split_str Unexecuted instantiation: notes.c:strbuf_split_str Unexecuted instantiation: object-file-convert.c:strbuf_split_str Unexecuted instantiation: oidset.c:strbuf_split_str Unexecuted instantiation: pack-revindex.c:strbuf_split_str Unexecuted instantiation: parse-options-cb.c:strbuf_split_str Unexecuted instantiation: parse-options.c:strbuf_split_str Unexecuted instantiation: patch-ids.c:strbuf_split_str Unexecuted instantiation: pkt-line.c:strbuf_split_str Unexecuted instantiation: preload-index.c:strbuf_split_str Unexecuted instantiation: progress.c:strbuf_split_str Unexecuted instantiation: range-diff.c:strbuf_split_str Unexecuted instantiation: refspec.c:strbuf_split_str Unexecuted instantiation: send-pack.c:strbuf_split_str Unexecuted instantiation: sequencer.c:strbuf_split_str Unexecuted instantiation: sideband.c:strbuf_split_str Unexecuted instantiation: sub-process.c:strbuf_split_str Unexecuted instantiation: transport-helper.c:strbuf_split_str Unexecuted instantiation: unpack-trees.c:strbuf_split_str Unexecuted instantiation: userdiff.c:strbuf_split_str Unexecuted instantiation: xdiff-interface.c:strbuf_split_str Unexecuted instantiation: apply.c:strbuf_split_str Unexecuted instantiation: entry.c:strbuf_split_str Unexecuted instantiation: list-objects-filter.c:strbuf_split_str Unexecuted instantiation: match-trees.c:strbuf_split_str Unexecuted instantiation: merge-ort-wrappers.c:strbuf_split_str Unexecuted instantiation: merge.c:strbuf_split_str Unexecuted instantiation: notes-utils.c:strbuf_split_str Unexecuted instantiation: parallel-checkout.c:strbuf_split_str Unexecuted instantiation: rebase-interactive.c:strbuf_split_str Unexecuted instantiation: rerere.c:strbuf_split_str Unexecuted instantiation: reset.c:strbuf_split_str Unexecuted instantiation: credential.c:strbuf_split_str Unexecuted instantiation: prompt.c:strbuf_split_str Unexecuted instantiation: terminal.c:strbuf_split_str |
593 | | |
594 | | static inline struct strbuf **strbuf_split_max(const struct strbuf *sb, |
595 | | int terminator, int max) |
596 | 0 | { |
597 | 0 | return strbuf_split_buf(sb->buf, sb->len, terminator, max); |
598 | 0 | } Unexecuted instantiation: date.c:strbuf_split_max Unexecuted instantiation: run-command.c:strbuf_split_max Unexecuted instantiation: strbuf.c:strbuf_split_max Unexecuted instantiation: strvec.c:strbuf_split_max Unexecuted instantiation: symlinks.c:strbuf_split_max Unexecuted instantiation: trace.c:strbuf_split_max Unexecuted instantiation: trace2.c:strbuf_split_max Unexecuted instantiation: tr2_cfg.c:strbuf_split_max Unexecuted instantiation: tr2_cmd_name.c:strbuf_split_max Unexecuted instantiation: tr2_dst.c:strbuf_split_max Unexecuted instantiation: tr2_sid.c:strbuf_split_max Unexecuted instantiation: tr2_sysenv.c:strbuf_split_max Unexecuted instantiation: tr2_tgt_event.c:strbuf_split_max Unexecuted instantiation: tr2_tgt_normal.c:strbuf_split_max Unexecuted instantiation: tr2_tgt_perf.c:strbuf_split_max Unexecuted instantiation: tr2_tls.c:strbuf_split_max Unexecuted instantiation: tr2_tmr.c:strbuf_split_max Unexecuted instantiation: usage.c:strbuf_split_max Unexecuted instantiation: utf8.c:strbuf_split_max Unexecuted instantiation: version.c:strbuf_split_max Unexecuted instantiation: wrapper.c:strbuf_split_max Unexecuted instantiation: procinfo.c:strbuf_split_max Unexecuted instantiation: abspath.c:strbuf_split_max Unexecuted instantiation: alias.c:strbuf_split_max Unexecuted instantiation: config.c:strbuf_split_max Unexecuted instantiation: dir.c:strbuf_split_max Unexecuted instantiation: editor.c:strbuf_split_max Unexecuted instantiation: environment.c:strbuf_split_max Unexecuted instantiation: ewah_io.c:strbuf_split_max Unexecuted instantiation: exec-cmd.c:strbuf_split_max Unexecuted instantiation: fsmonitor.c:strbuf_split_max Unexecuted instantiation: fsmonitor-ipc.c:strbuf_split_max Unexecuted instantiation: fsmonitor-settings.c:strbuf_split_max Unexecuted instantiation: ident.c:strbuf_split_max Unexecuted instantiation: json-writer.c:strbuf_split_max Unexecuted instantiation: lockfile.c:strbuf_split_max Unexecuted instantiation: mailmap.c:strbuf_split_max Unexecuted instantiation: name-hash.c:strbuf_split_max Unexecuted instantiation: object-file.c:strbuf_split_max Unexecuted instantiation: object-name.c:strbuf_split_max Unexecuted instantiation: odb.c:strbuf_split_max Unexecuted instantiation: pack-write.c:strbuf_split_max Unexecuted instantiation: packfile.c:strbuf_split_max Unexecuted instantiation: path.c:strbuf_split_max Unexecuted instantiation: pathspec.c:strbuf_split_max Unexecuted instantiation: pretty.c:strbuf_split_max Unexecuted instantiation: promisor-remote.c:strbuf_split_max Unexecuted instantiation: quote.c:strbuf_split_max Unexecuted instantiation: read-cache.c:strbuf_split_max Unexecuted instantiation: reflog-walk.c:strbuf_split_max Unexecuted instantiation: refs.c:strbuf_split_max Unexecuted instantiation: debug.c:strbuf_split_max Unexecuted instantiation: files-backend.c:strbuf_split_max Unexecuted instantiation: reftable-backend.c:strbuf_split_max Unexecuted instantiation: packed-backend.c:strbuf_split_max Unexecuted instantiation: system.c:strbuf_split_max Unexecuted instantiation: remote.c:strbuf_split_max Unexecuted instantiation: repository.c:strbuf_split_max Unexecuted instantiation: resolve-undo.c:strbuf_split_max Unexecuted instantiation: revision.c:strbuf_split_max Unexecuted instantiation: setup.c:strbuf_split_max Unexecuted instantiation: shallow.c:strbuf_split_max Unexecuted instantiation: sparse-index.c:strbuf_split_max Unexecuted instantiation: split-index.c:strbuf_split_max Unexecuted instantiation: submodule-config.c:strbuf_split_max Unexecuted instantiation: submodule.c:strbuf_split_max Unexecuted instantiation: tag.c:strbuf_split_max Unexecuted instantiation: tempfile.c:strbuf_split_max Unexecuted instantiation: tmp-objdir.c:strbuf_split_max Unexecuted instantiation: trailer.c:strbuf_split_max Unexecuted instantiation: transport.c:strbuf_split_max Unexecuted instantiation: tree-diff.c:strbuf_split_max Unexecuted instantiation: tree-walk.c:strbuf_split_max Unexecuted instantiation: tree.c:strbuf_split_max Unexecuted instantiation: url.c:strbuf_split_max Unexecuted instantiation: urlmatch.c:strbuf_split_max Unexecuted instantiation: worktree.c:strbuf_split_max Unexecuted instantiation: ws.c:strbuf_split_max Unexecuted instantiation: wt-status.c:strbuf_split_max Unexecuted instantiation: advice.c:strbuf_split_max Unexecuted instantiation: attr.c:strbuf_split_max Unexecuted instantiation: bisect.c:strbuf_split_max Unexecuted instantiation: bloom.c:strbuf_split_max Unexecuted instantiation: branch.c:strbuf_split_max Unexecuted instantiation: bundle-uri.c:strbuf_split_max Unexecuted instantiation: bundle.c:strbuf_split_max Unexecuted instantiation: cache-tree.c:strbuf_split_max Unexecuted instantiation: chdir-notify.c:strbuf_split_max Unexecuted instantiation: color.c:strbuf_split_max Unexecuted instantiation: combine-diff.c:strbuf_split_max Unexecuted instantiation: commit-graph.c:strbuf_split_max Unexecuted instantiation: commit-reach.c:strbuf_split_max Unexecuted instantiation: commit.c:strbuf_split_max Unexecuted instantiation: connect.c:strbuf_split_max Unexecuted instantiation: connected.c:strbuf_split_max Unexecuted instantiation: convert.c:strbuf_split_max Unexecuted instantiation: copy.c:strbuf_split_max Unexecuted instantiation: diff-merges.c:strbuf_split_max Unexecuted instantiation: diff-lib.c:strbuf_split_max Unexecuted instantiation: diff.c:strbuf_split_max Unexecuted instantiation: diffcore-order.c:strbuf_split_max Unexecuted instantiation: diffcore-pickaxe.c:strbuf_split_max Unexecuted instantiation: diffcore-rename.c:strbuf_split_max Unexecuted instantiation: diffcore-rotate.c:strbuf_split_max Unexecuted instantiation: dir-iterator.c:strbuf_split_max Unexecuted instantiation: fetch-pack.c:strbuf_split_max Unexecuted instantiation: fsck.c:strbuf_split_max Unexecuted instantiation: gpg-interface.c:strbuf_split_max Unexecuted instantiation: graph.c:strbuf_split_max Unexecuted instantiation: grep.c:strbuf_split_max Unexecuted instantiation: hook.c:strbuf_split_max Unexecuted instantiation: line-log.c:strbuf_split_max Unexecuted instantiation: list-objects-filter-options.c:strbuf_split_max Unexecuted instantiation: list-objects.c:strbuf_split_max Unexecuted instantiation: log-tree.c:strbuf_split_max Unexecuted instantiation: loose.c:strbuf_split_max Unexecuted instantiation: merge-ll.c:strbuf_split_max Unexecuted instantiation: merge-ort.c:strbuf_split_max Unexecuted instantiation: midx.c:strbuf_split_max Unexecuted instantiation: notes-cache.c:strbuf_split_max Unexecuted instantiation: notes.c:strbuf_split_max Unexecuted instantiation: object-file-convert.c:strbuf_split_max Unexecuted instantiation: oidset.c:strbuf_split_max Unexecuted instantiation: pack-revindex.c:strbuf_split_max Unexecuted instantiation: parse-options-cb.c:strbuf_split_max Unexecuted instantiation: parse-options.c:strbuf_split_max Unexecuted instantiation: patch-ids.c:strbuf_split_max Unexecuted instantiation: pkt-line.c:strbuf_split_max Unexecuted instantiation: preload-index.c:strbuf_split_max Unexecuted instantiation: progress.c:strbuf_split_max Unexecuted instantiation: range-diff.c:strbuf_split_max Unexecuted instantiation: refspec.c:strbuf_split_max Unexecuted instantiation: send-pack.c:strbuf_split_max Unexecuted instantiation: sequencer.c:strbuf_split_max Unexecuted instantiation: sideband.c:strbuf_split_max Unexecuted instantiation: sub-process.c:strbuf_split_max Unexecuted instantiation: transport-helper.c:strbuf_split_max Unexecuted instantiation: unpack-trees.c:strbuf_split_max Unexecuted instantiation: userdiff.c:strbuf_split_max Unexecuted instantiation: xdiff-interface.c:strbuf_split_max Unexecuted instantiation: apply.c:strbuf_split_max Unexecuted instantiation: entry.c:strbuf_split_max Unexecuted instantiation: list-objects-filter.c:strbuf_split_max Unexecuted instantiation: match-trees.c:strbuf_split_max Unexecuted instantiation: merge-ort-wrappers.c:strbuf_split_max Unexecuted instantiation: merge.c:strbuf_split_max Unexecuted instantiation: notes-utils.c:strbuf_split_max Unexecuted instantiation: parallel-checkout.c:strbuf_split_max Unexecuted instantiation: rebase-interactive.c:strbuf_split_max Unexecuted instantiation: rerere.c:strbuf_split_max Unexecuted instantiation: reset.c:strbuf_split_max Unexecuted instantiation: credential.c:strbuf_split_max Unexecuted instantiation: prompt.c:strbuf_split_max Unexecuted instantiation: terminal.c:strbuf_split_max |
599 | | |
600 | | static inline struct strbuf **strbuf_split(const struct strbuf *sb, |
601 | | int terminator) |
602 | 0 | { |
603 | 0 | return strbuf_split_max(sb, terminator, 0); |
604 | 0 | } Unexecuted instantiation: date.c:strbuf_split Unexecuted instantiation: run-command.c:strbuf_split Unexecuted instantiation: strbuf.c:strbuf_split Unexecuted instantiation: strvec.c:strbuf_split Unexecuted instantiation: symlinks.c:strbuf_split Unexecuted instantiation: trace.c:strbuf_split Unexecuted instantiation: trace2.c:strbuf_split Unexecuted instantiation: tr2_cfg.c:strbuf_split Unexecuted instantiation: tr2_cmd_name.c:strbuf_split Unexecuted instantiation: tr2_dst.c:strbuf_split Unexecuted instantiation: tr2_sid.c:strbuf_split Unexecuted instantiation: tr2_sysenv.c:strbuf_split Unexecuted instantiation: tr2_tgt_event.c:strbuf_split Unexecuted instantiation: tr2_tgt_normal.c:strbuf_split Unexecuted instantiation: tr2_tgt_perf.c:strbuf_split Unexecuted instantiation: tr2_tls.c:strbuf_split Unexecuted instantiation: tr2_tmr.c:strbuf_split Unexecuted instantiation: usage.c:strbuf_split Unexecuted instantiation: utf8.c:strbuf_split Unexecuted instantiation: version.c:strbuf_split Unexecuted instantiation: wrapper.c:strbuf_split Unexecuted instantiation: procinfo.c:strbuf_split Unexecuted instantiation: abspath.c:strbuf_split Unexecuted instantiation: alias.c:strbuf_split Unexecuted instantiation: config.c:strbuf_split Unexecuted instantiation: dir.c:strbuf_split Unexecuted instantiation: editor.c:strbuf_split Unexecuted instantiation: environment.c:strbuf_split Unexecuted instantiation: ewah_io.c:strbuf_split Unexecuted instantiation: exec-cmd.c:strbuf_split Unexecuted instantiation: fsmonitor.c:strbuf_split Unexecuted instantiation: fsmonitor-ipc.c:strbuf_split Unexecuted instantiation: fsmonitor-settings.c:strbuf_split Unexecuted instantiation: ident.c:strbuf_split Unexecuted instantiation: json-writer.c:strbuf_split Unexecuted instantiation: lockfile.c:strbuf_split Unexecuted instantiation: mailmap.c:strbuf_split Unexecuted instantiation: name-hash.c:strbuf_split Unexecuted instantiation: object-file.c:strbuf_split Unexecuted instantiation: object-name.c:strbuf_split Unexecuted instantiation: odb.c:strbuf_split Unexecuted instantiation: pack-write.c:strbuf_split Unexecuted instantiation: packfile.c:strbuf_split Unexecuted instantiation: path.c:strbuf_split Unexecuted instantiation: pathspec.c:strbuf_split Unexecuted instantiation: pretty.c:strbuf_split Unexecuted instantiation: promisor-remote.c:strbuf_split Unexecuted instantiation: quote.c:strbuf_split Unexecuted instantiation: read-cache.c:strbuf_split Unexecuted instantiation: reflog-walk.c:strbuf_split Unexecuted instantiation: refs.c:strbuf_split Unexecuted instantiation: debug.c:strbuf_split Unexecuted instantiation: files-backend.c:strbuf_split Unexecuted instantiation: reftable-backend.c:strbuf_split Unexecuted instantiation: packed-backend.c:strbuf_split Unexecuted instantiation: system.c:strbuf_split Unexecuted instantiation: remote.c:strbuf_split Unexecuted instantiation: repository.c:strbuf_split Unexecuted instantiation: resolve-undo.c:strbuf_split Unexecuted instantiation: revision.c:strbuf_split Unexecuted instantiation: setup.c:strbuf_split Unexecuted instantiation: shallow.c:strbuf_split Unexecuted instantiation: sparse-index.c:strbuf_split Unexecuted instantiation: split-index.c:strbuf_split Unexecuted instantiation: submodule-config.c:strbuf_split Unexecuted instantiation: submodule.c:strbuf_split Unexecuted instantiation: tag.c:strbuf_split Unexecuted instantiation: tempfile.c:strbuf_split Unexecuted instantiation: tmp-objdir.c:strbuf_split Unexecuted instantiation: trailer.c:strbuf_split Unexecuted instantiation: transport.c:strbuf_split Unexecuted instantiation: tree-diff.c:strbuf_split Unexecuted instantiation: tree-walk.c:strbuf_split Unexecuted instantiation: tree.c:strbuf_split Unexecuted instantiation: url.c:strbuf_split Unexecuted instantiation: urlmatch.c:strbuf_split Unexecuted instantiation: worktree.c:strbuf_split Unexecuted instantiation: ws.c:strbuf_split Unexecuted instantiation: wt-status.c:strbuf_split Unexecuted instantiation: advice.c:strbuf_split Unexecuted instantiation: attr.c:strbuf_split Unexecuted instantiation: bisect.c:strbuf_split Unexecuted instantiation: bloom.c:strbuf_split Unexecuted instantiation: branch.c:strbuf_split Unexecuted instantiation: bundle-uri.c:strbuf_split Unexecuted instantiation: bundle.c:strbuf_split Unexecuted instantiation: cache-tree.c:strbuf_split Unexecuted instantiation: chdir-notify.c:strbuf_split Unexecuted instantiation: color.c:strbuf_split Unexecuted instantiation: combine-diff.c:strbuf_split Unexecuted instantiation: commit-graph.c:strbuf_split Unexecuted instantiation: commit-reach.c:strbuf_split Unexecuted instantiation: commit.c:strbuf_split Unexecuted instantiation: connect.c:strbuf_split Unexecuted instantiation: connected.c:strbuf_split Unexecuted instantiation: convert.c:strbuf_split Unexecuted instantiation: copy.c:strbuf_split Unexecuted instantiation: diff-merges.c:strbuf_split Unexecuted instantiation: diff-lib.c:strbuf_split Unexecuted instantiation: diff.c:strbuf_split Unexecuted instantiation: diffcore-order.c:strbuf_split Unexecuted instantiation: diffcore-pickaxe.c:strbuf_split Unexecuted instantiation: diffcore-rename.c:strbuf_split Unexecuted instantiation: diffcore-rotate.c:strbuf_split Unexecuted instantiation: dir-iterator.c:strbuf_split Unexecuted instantiation: fetch-pack.c:strbuf_split Unexecuted instantiation: fsck.c:strbuf_split Unexecuted instantiation: gpg-interface.c:strbuf_split Unexecuted instantiation: graph.c:strbuf_split Unexecuted instantiation: grep.c:strbuf_split Unexecuted instantiation: hook.c:strbuf_split Unexecuted instantiation: line-log.c:strbuf_split Unexecuted instantiation: list-objects-filter-options.c:strbuf_split Unexecuted instantiation: list-objects.c:strbuf_split Unexecuted instantiation: log-tree.c:strbuf_split Unexecuted instantiation: loose.c:strbuf_split Unexecuted instantiation: merge-ll.c:strbuf_split Unexecuted instantiation: merge-ort.c:strbuf_split Unexecuted instantiation: midx.c:strbuf_split Unexecuted instantiation: notes-cache.c:strbuf_split Unexecuted instantiation: notes.c:strbuf_split Unexecuted instantiation: object-file-convert.c:strbuf_split Unexecuted instantiation: oidset.c:strbuf_split Unexecuted instantiation: pack-revindex.c:strbuf_split Unexecuted instantiation: parse-options-cb.c:strbuf_split Unexecuted instantiation: parse-options.c:strbuf_split Unexecuted instantiation: patch-ids.c:strbuf_split Unexecuted instantiation: pkt-line.c:strbuf_split Unexecuted instantiation: preload-index.c:strbuf_split Unexecuted instantiation: progress.c:strbuf_split Unexecuted instantiation: range-diff.c:strbuf_split Unexecuted instantiation: refspec.c:strbuf_split Unexecuted instantiation: send-pack.c:strbuf_split Unexecuted instantiation: sequencer.c:strbuf_split Unexecuted instantiation: sideband.c:strbuf_split Unexecuted instantiation: sub-process.c:strbuf_split Unexecuted instantiation: transport-helper.c:strbuf_split Unexecuted instantiation: unpack-trees.c:strbuf_split Unexecuted instantiation: userdiff.c:strbuf_split Unexecuted instantiation: xdiff-interface.c:strbuf_split Unexecuted instantiation: apply.c:strbuf_split Unexecuted instantiation: entry.c:strbuf_split Unexecuted instantiation: list-objects-filter.c:strbuf_split Unexecuted instantiation: match-trees.c:strbuf_split Unexecuted instantiation: merge-ort-wrappers.c:strbuf_split Unexecuted instantiation: merge.c:strbuf_split Unexecuted instantiation: notes-utils.c:strbuf_split Unexecuted instantiation: parallel-checkout.c:strbuf_split Unexecuted instantiation: rebase-interactive.c:strbuf_split Unexecuted instantiation: rerere.c:strbuf_split Unexecuted instantiation: reset.c:strbuf_split Unexecuted instantiation: credential.c:strbuf_split Unexecuted instantiation: prompt.c:strbuf_split Unexecuted instantiation: terminal.c:strbuf_split |
605 | | |
606 | | /* |
607 | | * Adds all strings of a string list to the strbuf, separated by the given |
608 | | * separator. For example, if sep is |
609 | | * ', ' |
610 | | * and slist contains |
611 | | * ['element1', 'element2', ..., 'elementN'], |
612 | | * then write: |
613 | | * 'element1, element2, ..., elementN' |
614 | | * to str. If only one element, just write "element1" to str. |
615 | | */ |
616 | | void strbuf_add_separated_string_list(struct strbuf *str, |
617 | | const char *sep, |
618 | | struct string_list *slist); |
619 | | |
620 | | /** |
621 | | * Free a NULL-terminated list of strbufs (for example, the return |
622 | | * values of the strbuf_split*() functions). |
623 | | */ |
624 | | void strbuf_list_free(struct strbuf **list); |
625 | | |
626 | | /* |
627 | | * Remove the filename from the provided path string. If the path |
628 | | * contains a trailing separator, then the path is considered a directory |
629 | | * and nothing is modified. |
630 | | * |
631 | | * Examples: |
632 | | * - "/path/to/file" -> "/path/to/" |
633 | | * - "/path/to/dir/" -> "/path/to/dir/" |
634 | | */ |
635 | | void strbuf_strip_file_from_path(struct strbuf *sb); |
636 | | |
637 | | void strbuf_add_lines(struct strbuf *sb, |
638 | | const char *prefix, |
639 | | const char *buf, |
640 | | size_t size); |
641 | | |
642 | | /** |
643 | | * Append s to sb, with the characters '<', '>', '&' and '"' converted |
644 | | * into XML entities. |
645 | | */ |
646 | | void strbuf_addstr_xml_quoted(struct strbuf *sb, |
647 | | const char *s); |
648 | | |
649 | | /** |
650 | | * "Complete" the contents of `sb` by ensuring that either it ends with the |
651 | | * character `term`, or it is empty. This can be used, for example, |
652 | | * to ensure that text ends with a newline, but without creating an empty |
653 | | * blank line if there is no content in the first place. |
654 | | */ |
655 | | static inline void strbuf_complete(struct strbuf *sb, char term) |
656 | 0 | { |
657 | 0 | if (sb->len && sb->buf[sb->len - 1] != term) |
658 | 0 | strbuf_addch(sb, term); |
659 | 0 | } Unexecuted instantiation: date.c:strbuf_complete Unexecuted instantiation: run-command.c:strbuf_complete Unexecuted instantiation: strbuf.c:strbuf_complete Unexecuted instantiation: strvec.c:strbuf_complete Unexecuted instantiation: symlinks.c:strbuf_complete Unexecuted instantiation: trace.c:strbuf_complete Unexecuted instantiation: trace2.c:strbuf_complete Unexecuted instantiation: tr2_cfg.c:strbuf_complete Unexecuted instantiation: tr2_cmd_name.c:strbuf_complete Unexecuted instantiation: tr2_dst.c:strbuf_complete Unexecuted instantiation: tr2_sid.c:strbuf_complete Unexecuted instantiation: tr2_sysenv.c:strbuf_complete Unexecuted instantiation: tr2_tgt_event.c:strbuf_complete Unexecuted instantiation: tr2_tgt_normal.c:strbuf_complete Unexecuted instantiation: tr2_tgt_perf.c:strbuf_complete Unexecuted instantiation: tr2_tls.c:strbuf_complete Unexecuted instantiation: tr2_tmr.c:strbuf_complete Unexecuted instantiation: usage.c:strbuf_complete Unexecuted instantiation: utf8.c:strbuf_complete Unexecuted instantiation: version.c:strbuf_complete Unexecuted instantiation: wrapper.c:strbuf_complete Unexecuted instantiation: procinfo.c:strbuf_complete Unexecuted instantiation: abspath.c:strbuf_complete Unexecuted instantiation: alias.c:strbuf_complete Unexecuted instantiation: config.c:strbuf_complete Unexecuted instantiation: dir.c:strbuf_complete Unexecuted instantiation: editor.c:strbuf_complete Unexecuted instantiation: environment.c:strbuf_complete Unexecuted instantiation: ewah_io.c:strbuf_complete Unexecuted instantiation: exec-cmd.c:strbuf_complete Unexecuted instantiation: fsmonitor.c:strbuf_complete Unexecuted instantiation: fsmonitor-ipc.c:strbuf_complete Unexecuted instantiation: fsmonitor-settings.c:strbuf_complete Unexecuted instantiation: ident.c:strbuf_complete Unexecuted instantiation: json-writer.c:strbuf_complete Unexecuted instantiation: lockfile.c:strbuf_complete Unexecuted instantiation: mailmap.c:strbuf_complete Unexecuted instantiation: name-hash.c:strbuf_complete Unexecuted instantiation: object-file.c:strbuf_complete Unexecuted instantiation: object-name.c:strbuf_complete Unexecuted instantiation: odb.c:strbuf_complete Unexecuted instantiation: pack-write.c:strbuf_complete Unexecuted instantiation: packfile.c:strbuf_complete Unexecuted instantiation: path.c:strbuf_complete Unexecuted instantiation: pathspec.c:strbuf_complete Unexecuted instantiation: pretty.c:strbuf_complete Unexecuted instantiation: promisor-remote.c:strbuf_complete Unexecuted instantiation: quote.c:strbuf_complete Unexecuted instantiation: read-cache.c:strbuf_complete Unexecuted instantiation: reflog-walk.c:strbuf_complete Unexecuted instantiation: refs.c:strbuf_complete Unexecuted instantiation: debug.c:strbuf_complete Unexecuted instantiation: files-backend.c:strbuf_complete Unexecuted instantiation: reftable-backend.c:strbuf_complete Unexecuted instantiation: packed-backend.c:strbuf_complete Unexecuted instantiation: system.c:strbuf_complete Unexecuted instantiation: remote.c:strbuf_complete Unexecuted instantiation: repository.c:strbuf_complete Unexecuted instantiation: resolve-undo.c:strbuf_complete Unexecuted instantiation: revision.c:strbuf_complete Unexecuted instantiation: setup.c:strbuf_complete Unexecuted instantiation: shallow.c:strbuf_complete Unexecuted instantiation: sparse-index.c:strbuf_complete Unexecuted instantiation: split-index.c:strbuf_complete Unexecuted instantiation: submodule-config.c:strbuf_complete Unexecuted instantiation: submodule.c:strbuf_complete Unexecuted instantiation: tag.c:strbuf_complete Unexecuted instantiation: tempfile.c:strbuf_complete Unexecuted instantiation: tmp-objdir.c:strbuf_complete Unexecuted instantiation: trailer.c:strbuf_complete Unexecuted instantiation: transport.c:strbuf_complete Unexecuted instantiation: tree-diff.c:strbuf_complete Unexecuted instantiation: tree-walk.c:strbuf_complete Unexecuted instantiation: tree.c:strbuf_complete Unexecuted instantiation: url.c:strbuf_complete Unexecuted instantiation: urlmatch.c:strbuf_complete Unexecuted instantiation: worktree.c:strbuf_complete Unexecuted instantiation: ws.c:strbuf_complete Unexecuted instantiation: wt-status.c:strbuf_complete Unexecuted instantiation: advice.c:strbuf_complete Unexecuted instantiation: attr.c:strbuf_complete Unexecuted instantiation: bisect.c:strbuf_complete Unexecuted instantiation: bloom.c:strbuf_complete Unexecuted instantiation: branch.c:strbuf_complete Unexecuted instantiation: bundle-uri.c:strbuf_complete Unexecuted instantiation: bundle.c:strbuf_complete Unexecuted instantiation: cache-tree.c:strbuf_complete Unexecuted instantiation: chdir-notify.c:strbuf_complete Unexecuted instantiation: color.c:strbuf_complete Unexecuted instantiation: combine-diff.c:strbuf_complete Unexecuted instantiation: commit-graph.c:strbuf_complete Unexecuted instantiation: commit-reach.c:strbuf_complete Unexecuted instantiation: commit.c:strbuf_complete Unexecuted instantiation: connect.c:strbuf_complete Unexecuted instantiation: connected.c:strbuf_complete Unexecuted instantiation: convert.c:strbuf_complete Unexecuted instantiation: copy.c:strbuf_complete Unexecuted instantiation: diff-merges.c:strbuf_complete Unexecuted instantiation: diff-lib.c:strbuf_complete Unexecuted instantiation: diff.c:strbuf_complete Unexecuted instantiation: diffcore-order.c:strbuf_complete Unexecuted instantiation: diffcore-pickaxe.c:strbuf_complete Unexecuted instantiation: diffcore-rename.c:strbuf_complete Unexecuted instantiation: diffcore-rotate.c:strbuf_complete Unexecuted instantiation: dir-iterator.c:strbuf_complete Unexecuted instantiation: fetch-pack.c:strbuf_complete Unexecuted instantiation: fsck.c:strbuf_complete Unexecuted instantiation: gpg-interface.c:strbuf_complete Unexecuted instantiation: graph.c:strbuf_complete Unexecuted instantiation: grep.c:strbuf_complete Unexecuted instantiation: hook.c:strbuf_complete Unexecuted instantiation: line-log.c:strbuf_complete Unexecuted instantiation: list-objects-filter-options.c:strbuf_complete Unexecuted instantiation: list-objects.c:strbuf_complete Unexecuted instantiation: log-tree.c:strbuf_complete Unexecuted instantiation: loose.c:strbuf_complete Unexecuted instantiation: merge-ll.c:strbuf_complete Unexecuted instantiation: merge-ort.c:strbuf_complete Unexecuted instantiation: midx.c:strbuf_complete Unexecuted instantiation: notes-cache.c:strbuf_complete Unexecuted instantiation: notes.c:strbuf_complete Unexecuted instantiation: object-file-convert.c:strbuf_complete Unexecuted instantiation: oidset.c:strbuf_complete Unexecuted instantiation: pack-revindex.c:strbuf_complete Unexecuted instantiation: parse-options-cb.c:strbuf_complete Unexecuted instantiation: parse-options.c:strbuf_complete Unexecuted instantiation: patch-ids.c:strbuf_complete Unexecuted instantiation: pkt-line.c:strbuf_complete Unexecuted instantiation: preload-index.c:strbuf_complete Unexecuted instantiation: progress.c:strbuf_complete Unexecuted instantiation: range-diff.c:strbuf_complete Unexecuted instantiation: refspec.c:strbuf_complete Unexecuted instantiation: send-pack.c:strbuf_complete Unexecuted instantiation: sequencer.c:strbuf_complete Unexecuted instantiation: sideband.c:strbuf_complete Unexecuted instantiation: sub-process.c:strbuf_complete Unexecuted instantiation: transport-helper.c:strbuf_complete Unexecuted instantiation: unpack-trees.c:strbuf_complete Unexecuted instantiation: userdiff.c:strbuf_complete Unexecuted instantiation: xdiff-interface.c:strbuf_complete Unexecuted instantiation: apply.c:strbuf_complete Unexecuted instantiation: entry.c:strbuf_complete Unexecuted instantiation: list-objects-filter.c:strbuf_complete Unexecuted instantiation: match-trees.c:strbuf_complete Unexecuted instantiation: merge-ort-wrappers.c:strbuf_complete Unexecuted instantiation: merge.c:strbuf_complete Unexecuted instantiation: notes-utils.c:strbuf_complete Unexecuted instantiation: parallel-checkout.c:strbuf_complete Unexecuted instantiation: rebase-interactive.c:strbuf_complete Unexecuted instantiation: rerere.c:strbuf_complete Unexecuted instantiation: reset.c:strbuf_complete Unexecuted instantiation: credential.c:strbuf_complete Unexecuted instantiation: prompt.c:strbuf_complete Unexecuted instantiation: terminal.c:strbuf_complete |
660 | | |
661 | | static inline void strbuf_complete_line(struct strbuf *sb) |
662 | 0 | { |
663 | 0 | strbuf_complete(sb, '\n'); |
664 | 0 | } Unexecuted instantiation: date.c:strbuf_complete_line Unexecuted instantiation: run-command.c:strbuf_complete_line Unexecuted instantiation: strbuf.c:strbuf_complete_line Unexecuted instantiation: strvec.c:strbuf_complete_line Unexecuted instantiation: symlinks.c:strbuf_complete_line Unexecuted instantiation: trace.c:strbuf_complete_line Unexecuted instantiation: trace2.c:strbuf_complete_line Unexecuted instantiation: tr2_cfg.c:strbuf_complete_line Unexecuted instantiation: tr2_cmd_name.c:strbuf_complete_line Unexecuted instantiation: tr2_dst.c:strbuf_complete_line Unexecuted instantiation: tr2_sid.c:strbuf_complete_line Unexecuted instantiation: tr2_sysenv.c:strbuf_complete_line Unexecuted instantiation: tr2_tgt_event.c:strbuf_complete_line Unexecuted instantiation: tr2_tgt_normal.c:strbuf_complete_line Unexecuted instantiation: tr2_tgt_perf.c:strbuf_complete_line Unexecuted instantiation: tr2_tls.c:strbuf_complete_line Unexecuted instantiation: tr2_tmr.c:strbuf_complete_line Unexecuted instantiation: usage.c:strbuf_complete_line Unexecuted instantiation: utf8.c:strbuf_complete_line Unexecuted instantiation: version.c:strbuf_complete_line Unexecuted instantiation: wrapper.c:strbuf_complete_line Unexecuted instantiation: procinfo.c:strbuf_complete_line Unexecuted instantiation: abspath.c:strbuf_complete_line Unexecuted instantiation: alias.c:strbuf_complete_line Unexecuted instantiation: config.c:strbuf_complete_line Unexecuted instantiation: dir.c:strbuf_complete_line Unexecuted instantiation: editor.c:strbuf_complete_line Unexecuted instantiation: environment.c:strbuf_complete_line Unexecuted instantiation: ewah_io.c:strbuf_complete_line Unexecuted instantiation: exec-cmd.c:strbuf_complete_line Unexecuted instantiation: fsmonitor.c:strbuf_complete_line Unexecuted instantiation: fsmonitor-ipc.c:strbuf_complete_line Unexecuted instantiation: fsmonitor-settings.c:strbuf_complete_line Unexecuted instantiation: ident.c:strbuf_complete_line Unexecuted instantiation: json-writer.c:strbuf_complete_line Unexecuted instantiation: lockfile.c:strbuf_complete_line Unexecuted instantiation: mailmap.c:strbuf_complete_line Unexecuted instantiation: name-hash.c:strbuf_complete_line Unexecuted instantiation: object-file.c:strbuf_complete_line Unexecuted instantiation: object-name.c:strbuf_complete_line Unexecuted instantiation: odb.c:strbuf_complete_line Unexecuted instantiation: pack-write.c:strbuf_complete_line Unexecuted instantiation: packfile.c:strbuf_complete_line Unexecuted instantiation: path.c:strbuf_complete_line Unexecuted instantiation: pathspec.c:strbuf_complete_line Unexecuted instantiation: pretty.c:strbuf_complete_line Unexecuted instantiation: promisor-remote.c:strbuf_complete_line Unexecuted instantiation: quote.c:strbuf_complete_line Unexecuted instantiation: read-cache.c:strbuf_complete_line Unexecuted instantiation: reflog-walk.c:strbuf_complete_line Unexecuted instantiation: refs.c:strbuf_complete_line Unexecuted instantiation: debug.c:strbuf_complete_line Unexecuted instantiation: files-backend.c:strbuf_complete_line Unexecuted instantiation: reftable-backend.c:strbuf_complete_line Unexecuted instantiation: packed-backend.c:strbuf_complete_line Unexecuted instantiation: system.c:strbuf_complete_line Unexecuted instantiation: remote.c:strbuf_complete_line Unexecuted instantiation: repository.c:strbuf_complete_line Unexecuted instantiation: resolve-undo.c:strbuf_complete_line Unexecuted instantiation: revision.c:strbuf_complete_line Unexecuted instantiation: setup.c:strbuf_complete_line Unexecuted instantiation: shallow.c:strbuf_complete_line Unexecuted instantiation: sparse-index.c:strbuf_complete_line Unexecuted instantiation: split-index.c:strbuf_complete_line Unexecuted instantiation: submodule-config.c:strbuf_complete_line Unexecuted instantiation: submodule.c:strbuf_complete_line Unexecuted instantiation: tag.c:strbuf_complete_line Unexecuted instantiation: tempfile.c:strbuf_complete_line Unexecuted instantiation: tmp-objdir.c:strbuf_complete_line Unexecuted instantiation: trailer.c:strbuf_complete_line Unexecuted instantiation: transport.c:strbuf_complete_line Unexecuted instantiation: tree-diff.c:strbuf_complete_line Unexecuted instantiation: tree-walk.c:strbuf_complete_line Unexecuted instantiation: tree.c:strbuf_complete_line Unexecuted instantiation: url.c:strbuf_complete_line Unexecuted instantiation: urlmatch.c:strbuf_complete_line Unexecuted instantiation: worktree.c:strbuf_complete_line Unexecuted instantiation: ws.c:strbuf_complete_line Unexecuted instantiation: wt-status.c:strbuf_complete_line Unexecuted instantiation: advice.c:strbuf_complete_line Unexecuted instantiation: attr.c:strbuf_complete_line Unexecuted instantiation: bisect.c:strbuf_complete_line Unexecuted instantiation: bloom.c:strbuf_complete_line Unexecuted instantiation: branch.c:strbuf_complete_line Unexecuted instantiation: bundle-uri.c:strbuf_complete_line Unexecuted instantiation: bundle.c:strbuf_complete_line Unexecuted instantiation: cache-tree.c:strbuf_complete_line Unexecuted instantiation: chdir-notify.c:strbuf_complete_line Unexecuted instantiation: color.c:strbuf_complete_line Unexecuted instantiation: combine-diff.c:strbuf_complete_line Unexecuted instantiation: commit-graph.c:strbuf_complete_line Unexecuted instantiation: commit-reach.c:strbuf_complete_line Unexecuted instantiation: commit.c:strbuf_complete_line Unexecuted instantiation: connect.c:strbuf_complete_line Unexecuted instantiation: connected.c:strbuf_complete_line Unexecuted instantiation: convert.c:strbuf_complete_line Unexecuted instantiation: copy.c:strbuf_complete_line Unexecuted instantiation: diff-merges.c:strbuf_complete_line Unexecuted instantiation: diff-lib.c:strbuf_complete_line Unexecuted instantiation: diff.c:strbuf_complete_line Unexecuted instantiation: diffcore-order.c:strbuf_complete_line Unexecuted instantiation: diffcore-pickaxe.c:strbuf_complete_line Unexecuted instantiation: diffcore-rename.c:strbuf_complete_line Unexecuted instantiation: diffcore-rotate.c:strbuf_complete_line Unexecuted instantiation: dir-iterator.c:strbuf_complete_line Unexecuted instantiation: fetch-pack.c:strbuf_complete_line Unexecuted instantiation: fsck.c:strbuf_complete_line Unexecuted instantiation: gpg-interface.c:strbuf_complete_line Unexecuted instantiation: graph.c:strbuf_complete_line Unexecuted instantiation: grep.c:strbuf_complete_line Unexecuted instantiation: hook.c:strbuf_complete_line Unexecuted instantiation: line-log.c:strbuf_complete_line Unexecuted instantiation: list-objects-filter-options.c:strbuf_complete_line Unexecuted instantiation: list-objects.c:strbuf_complete_line Unexecuted instantiation: log-tree.c:strbuf_complete_line Unexecuted instantiation: loose.c:strbuf_complete_line Unexecuted instantiation: merge-ll.c:strbuf_complete_line Unexecuted instantiation: merge-ort.c:strbuf_complete_line Unexecuted instantiation: midx.c:strbuf_complete_line Unexecuted instantiation: notes-cache.c:strbuf_complete_line Unexecuted instantiation: notes.c:strbuf_complete_line Unexecuted instantiation: object-file-convert.c:strbuf_complete_line Unexecuted instantiation: oidset.c:strbuf_complete_line Unexecuted instantiation: pack-revindex.c:strbuf_complete_line Unexecuted instantiation: parse-options-cb.c:strbuf_complete_line Unexecuted instantiation: parse-options.c:strbuf_complete_line Unexecuted instantiation: patch-ids.c:strbuf_complete_line Unexecuted instantiation: pkt-line.c:strbuf_complete_line Unexecuted instantiation: preload-index.c:strbuf_complete_line Unexecuted instantiation: progress.c:strbuf_complete_line Unexecuted instantiation: range-diff.c:strbuf_complete_line Unexecuted instantiation: refspec.c:strbuf_complete_line Unexecuted instantiation: send-pack.c:strbuf_complete_line Unexecuted instantiation: sequencer.c:strbuf_complete_line Unexecuted instantiation: sideband.c:strbuf_complete_line Unexecuted instantiation: sub-process.c:strbuf_complete_line Unexecuted instantiation: transport-helper.c:strbuf_complete_line Unexecuted instantiation: unpack-trees.c:strbuf_complete_line Unexecuted instantiation: userdiff.c:strbuf_complete_line Unexecuted instantiation: xdiff-interface.c:strbuf_complete_line Unexecuted instantiation: apply.c:strbuf_complete_line Unexecuted instantiation: entry.c:strbuf_complete_line Unexecuted instantiation: list-objects-filter.c:strbuf_complete_line Unexecuted instantiation: match-trees.c:strbuf_complete_line Unexecuted instantiation: merge-ort-wrappers.c:strbuf_complete_line Unexecuted instantiation: merge.c:strbuf_complete_line Unexecuted instantiation: notes-utils.c:strbuf_complete_line Unexecuted instantiation: parallel-checkout.c:strbuf_complete_line Unexecuted instantiation: rebase-interactive.c:strbuf_complete_line Unexecuted instantiation: rerere.c:strbuf_complete_line Unexecuted instantiation: reset.c:strbuf_complete_line Unexecuted instantiation: credential.c:strbuf_complete_line Unexecuted instantiation: prompt.c:strbuf_complete_line Unexecuted instantiation: terminal.c:strbuf_complete_line |
665 | | |
666 | | typedef int (*char_predicate)(char ch); |
667 | | |
668 | | void strbuf_addstr_urlencode(struct strbuf *sb, const char *name, |
669 | | char_predicate allow_unencoded_fn); |
670 | | |
671 | | __attribute__((format (printf,1,2))) |
672 | | int printf_ln(const char *fmt, ...); |
673 | | __attribute__((format (printf,2,3))) |
674 | | int fprintf_ln(FILE *fp, const char *fmt, ...); |
675 | | |
676 | | char *xstrdup_tolower(const char *); |
677 | | char *xstrdup_toupper(const char *); |
678 | | |
679 | | /** |
680 | | * Create a newly allocated string using printf format. You can do this easily |
681 | | * with a strbuf, but this provides a shortcut to save a few lines. |
682 | | */ |
683 | | __attribute__((format (printf, 1, 0))) |
684 | | char *xstrvfmt(const char *fmt, va_list ap); |
685 | | __attribute__((format (printf, 1, 2))) |
686 | | char *xstrfmt(const char *fmt, ...); |
687 | | |
688 | | bool starts_with(const char *str, const char *prefix); |
689 | | bool istarts_with(const char *str, const char *prefix); |
690 | | bool starts_with_mem(const char *str, size_t len, const char *prefix); |
691 | | |
692 | | /* |
693 | | * If the string "str" is the same as the string in "prefix", then the "arg" |
694 | | * parameter is set to the "def" parameter and 1 is returned. |
695 | | * If the string "str" begins with the string found in "prefix" and then a |
696 | | * "=" sign, then the "arg" parameter is set to "str + strlen(prefix) + 1" |
697 | | * (i.e., to the point in the string right after the prefix and the "=" sign), |
698 | | * and 1 is returned. |
699 | | * |
700 | | * Otherwise, return 0 and leave "arg" untouched. |
701 | | * |
702 | | * When we accept both a "--key" and a "--key=<val>" option, this function |
703 | | * can be used instead of !strcmp(arg, "--key") and then |
704 | | * skip_prefix(arg, "--key=", &arg) to parse such an option. |
705 | | */ |
706 | | bool skip_to_optional_arg_default(const char *str, const char *prefix, |
707 | | const char **arg, const char *def); |
708 | | |
709 | | static inline bool skip_to_optional_arg(const char *str, const char *prefix, |
710 | | const char **arg) |
711 | 0 | { |
712 | 0 | return skip_to_optional_arg_default(str, prefix, arg, ""); |
713 | 0 | } Unexecuted instantiation: date.c:skip_to_optional_arg Unexecuted instantiation: run-command.c:skip_to_optional_arg Unexecuted instantiation: strbuf.c:skip_to_optional_arg Unexecuted instantiation: strvec.c:skip_to_optional_arg Unexecuted instantiation: symlinks.c:skip_to_optional_arg Unexecuted instantiation: trace.c:skip_to_optional_arg Unexecuted instantiation: trace2.c:skip_to_optional_arg Unexecuted instantiation: tr2_cfg.c:skip_to_optional_arg Unexecuted instantiation: tr2_cmd_name.c:skip_to_optional_arg Unexecuted instantiation: tr2_dst.c:skip_to_optional_arg Unexecuted instantiation: tr2_sid.c:skip_to_optional_arg Unexecuted instantiation: tr2_sysenv.c:skip_to_optional_arg Unexecuted instantiation: tr2_tgt_event.c:skip_to_optional_arg Unexecuted instantiation: tr2_tgt_normal.c:skip_to_optional_arg Unexecuted instantiation: tr2_tgt_perf.c:skip_to_optional_arg Unexecuted instantiation: tr2_tls.c:skip_to_optional_arg Unexecuted instantiation: tr2_tmr.c:skip_to_optional_arg Unexecuted instantiation: usage.c:skip_to_optional_arg Unexecuted instantiation: utf8.c:skip_to_optional_arg Unexecuted instantiation: version.c:skip_to_optional_arg Unexecuted instantiation: wrapper.c:skip_to_optional_arg Unexecuted instantiation: procinfo.c:skip_to_optional_arg Unexecuted instantiation: abspath.c:skip_to_optional_arg Unexecuted instantiation: alias.c:skip_to_optional_arg Unexecuted instantiation: config.c:skip_to_optional_arg Unexecuted instantiation: dir.c:skip_to_optional_arg Unexecuted instantiation: editor.c:skip_to_optional_arg Unexecuted instantiation: environment.c:skip_to_optional_arg Unexecuted instantiation: ewah_io.c:skip_to_optional_arg Unexecuted instantiation: exec-cmd.c:skip_to_optional_arg Unexecuted instantiation: fsmonitor.c:skip_to_optional_arg Unexecuted instantiation: fsmonitor-ipc.c:skip_to_optional_arg Unexecuted instantiation: fsmonitor-settings.c:skip_to_optional_arg Unexecuted instantiation: ident.c:skip_to_optional_arg Unexecuted instantiation: json-writer.c:skip_to_optional_arg Unexecuted instantiation: lockfile.c:skip_to_optional_arg Unexecuted instantiation: mailmap.c:skip_to_optional_arg Unexecuted instantiation: name-hash.c:skip_to_optional_arg Unexecuted instantiation: object-file.c:skip_to_optional_arg Unexecuted instantiation: object-name.c:skip_to_optional_arg Unexecuted instantiation: odb.c:skip_to_optional_arg Unexecuted instantiation: pack-write.c:skip_to_optional_arg Unexecuted instantiation: packfile.c:skip_to_optional_arg Unexecuted instantiation: path.c:skip_to_optional_arg Unexecuted instantiation: pathspec.c:skip_to_optional_arg Unexecuted instantiation: pretty.c:skip_to_optional_arg Unexecuted instantiation: promisor-remote.c:skip_to_optional_arg Unexecuted instantiation: quote.c:skip_to_optional_arg Unexecuted instantiation: read-cache.c:skip_to_optional_arg Unexecuted instantiation: reflog-walk.c:skip_to_optional_arg Unexecuted instantiation: refs.c:skip_to_optional_arg Unexecuted instantiation: debug.c:skip_to_optional_arg Unexecuted instantiation: files-backend.c:skip_to_optional_arg Unexecuted instantiation: reftable-backend.c:skip_to_optional_arg Unexecuted instantiation: packed-backend.c:skip_to_optional_arg Unexecuted instantiation: system.c:skip_to_optional_arg Unexecuted instantiation: remote.c:skip_to_optional_arg Unexecuted instantiation: repository.c:skip_to_optional_arg Unexecuted instantiation: resolve-undo.c:skip_to_optional_arg Unexecuted instantiation: revision.c:skip_to_optional_arg Unexecuted instantiation: setup.c:skip_to_optional_arg Unexecuted instantiation: shallow.c:skip_to_optional_arg Unexecuted instantiation: sparse-index.c:skip_to_optional_arg Unexecuted instantiation: split-index.c:skip_to_optional_arg Unexecuted instantiation: submodule-config.c:skip_to_optional_arg Unexecuted instantiation: submodule.c:skip_to_optional_arg Unexecuted instantiation: tag.c:skip_to_optional_arg Unexecuted instantiation: tempfile.c:skip_to_optional_arg Unexecuted instantiation: tmp-objdir.c:skip_to_optional_arg Unexecuted instantiation: trailer.c:skip_to_optional_arg Unexecuted instantiation: transport.c:skip_to_optional_arg Unexecuted instantiation: tree-diff.c:skip_to_optional_arg Unexecuted instantiation: tree-walk.c:skip_to_optional_arg Unexecuted instantiation: tree.c:skip_to_optional_arg Unexecuted instantiation: url.c:skip_to_optional_arg Unexecuted instantiation: urlmatch.c:skip_to_optional_arg Unexecuted instantiation: worktree.c:skip_to_optional_arg Unexecuted instantiation: ws.c:skip_to_optional_arg Unexecuted instantiation: wt-status.c:skip_to_optional_arg Unexecuted instantiation: advice.c:skip_to_optional_arg Unexecuted instantiation: attr.c:skip_to_optional_arg Unexecuted instantiation: bisect.c:skip_to_optional_arg Unexecuted instantiation: bloom.c:skip_to_optional_arg Unexecuted instantiation: branch.c:skip_to_optional_arg Unexecuted instantiation: bundle-uri.c:skip_to_optional_arg Unexecuted instantiation: bundle.c:skip_to_optional_arg Unexecuted instantiation: cache-tree.c:skip_to_optional_arg Unexecuted instantiation: chdir-notify.c:skip_to_optional_arg Unexecuted instantiation: color.c:skip_to_optional_arg Unexecuted instantiation: combine-diff.c:skip_to_optional_arg Unexecuted instantiation: commit-graph.c:skip_to_optional_arg Unexecuted instantiation: commit-reach.c:skip_to_optional_arg Unexecuted instantiation: commit.c:skip_to_optional_arg Unexecuted instantiation: connect.c:skip_to_optional_arg Unexecuted instantiation: connected.c:skip_to_optional_arg Unexecuted instantiation: convert.c:skip_to_optional_arg Unexecuted instantiation: copy.c:skip_to_optional_arg Unexecuted instantiation: diff-merges.c:skip_to_optional_arg Unexecuted instantiation: diff-lib.c:skip_to_optional_arg Unexecuted instantiation: diff.c:skip_to_optional_arg Unexecuted instantiation: diffcore-order.c:skip_to_optional_arg Unexecuted instantiation: diffcore-pickaxe.c:skip_to_optional_arg Unexecuted instantiation: diffcore-rename.c:skip_to_optional_arg Unexecuted instantiation: diffcore-rotate.c:skip_to_optional_arg Unexecuted instantiation: dir-iterator.c:skip_to_optional_arg Unexecuted instantiation: fetch-pack.c:skip_to_optional_arg Unexecuted instantiation: fsck.c:skip_to_optional_arg Unexecuted instantiation: gpg-interface.c:skip_to_optional_arg Unexecuted instantiation: graph.c:skip_to_optional_arg Unexecuted instantiation: grep.c:skip_to_optional_arg Unexecuted instantiation: hook.c:skip_to_optional_arg Unexecuted instantiation: line-log.c:skip_to_optional_arg Unexecuted instantiation: list-objects-filter-options.c:skip_to_optional_arg Unexecuted instantiation: list-objects.c:skip_to_optional_arg Unexecuted instantiation: log-tree.c:skip_to_optional_arg Unexecuted instantiation: loose.c:skip_to_optional_arg Unexecuted instantiation: merge-ll.c:skip_to_optional_arg Unexecuted instantiation: merge-ort.c:skip_to_optional_arg Unexecuted instantiation: midx.c:skip_to_optional_arg Unexecuted instantiation: notes-cache.c:skip_to_optional_arg Unexecuted instantiation: notes.c:skip_to_optional_arg Unexecuted instantiation: object-file-convert.c:skip_to_optional_arg Unexecuted instantiation: oidset.c:skip_to_optional_arg Unexecuted instantiation: pack-revindex.c:skip_to_optional_arg Unexecuted instantiation: parse-options-cb.c:skip_to_optional_arg Unexecuted instantiation: parse-options.c:skip_to_optional_arg Unexecuted instantiation: patch-ids.c:skip_to_optional_arg Unexecuted instantiation: pkt-line.c:skip_to_optional_arg Unexecuted instantiation: preload-index.c:skip_to_optional_arg Unexecuted instantiation: progress.c:skip_to_optional_arg Unexecuted instantiation: range-diff.c:skip_to_optional_arg Unexecuted instantiation: refspec.c:skip_to_optional_arg Unexecuted instantiation: send-pack.c:skip_to_optional_arg Unexecuted instantiation: sequencer.c:skip_to_optional_arg Unexecuted instantiation: sideband.c:skip_to_optional_arg Unexecuted instantiation: sub-process.c:skip_to_optional_arg Unexecuted instantiation: transport-helper.c:skip_to_optional_arg Unexecuted instantiation: unpack-trees.c:skip_to_optional_arg Unexecuted instantiation: userdiff.c:skip_to_optional_arg Unexecuted instantiation: xdiff-interface.c:skip_to_optional_arg Unexecuted instantiation: apply.c:skip_to_optional_arg Unexecuted instantiation: entry.c:skip_to_optional_arg Unexecuted instantiation: list-objects-filter.c:skip_to_optional_arg Unexecuted instantiation: match-trees.c:skip_to_optional_arg Unexecuted instantiation: merge-ort-wrappers.c:skip_to_optional_arg Unexecuted instantiation: merge.c:skip_to_optional_arg Unexecuted instantiation: notes-utils.c:skip_to_optional_arg Unexecuted instantiation: parallel-checkout.c:skip_to_optional_arg Unexecuted instantiation: rebase-interactive.c:skip_to_optional_arg Unexecuted instantiation: rerere.c:skip_to_optional_arg Unexecuted instantiation: reset.c:skip_to_optional_arg Unexecuted instantiation: credential.c:skip_to_optional_arg Unexecuted instantiation: prompt.c:skip_to_optional_arg Unexecuted instantiation: terminal.c:skip_to_optional_arg |
714 | | |
715 | | static inline bool ends_with(const char *str, const char *suffix) |
716 | 0 | { |
717 | 0 | size_t len; |
718 | 0 | return strip_suffix(str, suffix, &len); |
719 | 0 | } Unexecuted instantiation: date.c:ends_with Unexecuted instantiation: run-command.c:ends_with Unexecuted instantiation: strbuf.c:ends_with Unexecuted instantiation: strvec.c:ends_with Unexecuted instantiation: symlinks.c:ends_with Unexecuted instantiation: trace.c:ends_with Unexecuted instantiation: trace2.c:ends_with Unexecuted instantiation: tr2_cfg.c:ends_with Unexecuted instantiation: tr2_cmd_name.c:ends_with Unexecuted instantiation: tr2_dst.c:ends_with Unexecuted instantiation: tr2_sid.c:ends_with Unexecuted instantiation: tr2_sysenv.c:ends_with Unexecuted instantiation: tr2_tgt_event.c:ends_with Unexecuted instantiation: tr2_tgt_normal.c:ends_with Unexecuted instantiation: tr2_tgt_perf.c:ends_with Unexecuted instantiation: tr2_tls.c:ends_with Unexecuted instantiation: tr2_tmr.c:ends_with Unexecuted instantiation: usage.c:ends_with Unexecuted instantiation: utf8.c:ends_with Unexecuted instantiation: version.c:ends_with Unexecuted instantiation: wrapper.c:ends_with Unexecuted instantiation: procinfo.c:ends_with Unexecuted instantiation: abspath.c:ends_with Unexecuted instantiation: alias.c:ends_with Unexecuted instantiation: config.c:ends_with Unexecuted instantiation: dir.c:ends_with Unexecuted instantiation: editor.c:ends_with Unexecuted instantiation: environment.c:ends_with Unexecuted instantiation: ewah_io.c:ends_with Unexecuted instantiation: exec-cmd.c:ends_with Unexecuted instantiation: fsmonitor.c:ends_with Unexecuted instantiation: fsmonitor-ipc.c:ends_with Unexecuted instantiation: fsmonitor-settings.c:ends_with Unexecuted instantiation: ident.c:ends_with Unexecuted instantiation: json-writer.c:ends_with Unexecuted instantiation: lockfile.c:ends_with Unexecuted instantiation: mailmap.c:ends_with Unexecuted instantiation: name-hash.c:ends_with Unexecuted instantiation: object-file.c:ends_with Unexecuted instantiation: object-name.c:ends_with Unexecuted instantiation: odb.c:ends_with Unexecuted instantiation: pack-write.c:ends_with Unexecuted instantiation: packfile.c:ends_with Unexecuted instantiation: path.c:ends_with Unexecuted instantiation: pathspec.c:ends_with Unexecuted instantiation: pretty.c:ends_with Unexecuted instantiation: promisor-remote.c:ends_with Unexecuted instantiation: quote.c:ends_with Unexecuted instantiation: read-cache.c:ends_with Unexecuted instantiation: reflog-walk.c:ends_with Unexecuted instantiation: refs.c:ends_with Unexecuted instantiation: debug.c:ends_with Unexecuted instantiation: files-backend.c:ends_with Unexecuted instantiation: reftable-backend.c:ends_with Unexecuted instantiation: packed-backend.c:ends_with Unexecuted instantiation: system.c:ends_with Unexecuted instantiation: remote.c:ends_with Unexecuted instantiation: repository.c:ends_with Unexecuted instantiation: resolve-undo.c:ends_with Unexecuted instantiation: revision.c:ends_with Unexecuted instantiation: setup.c:ends_with Unexecuted instantiation: shallow.c:ends_with Unexecuted instantiation: sparse-index.c:ends_with Unexecuted instantiation: split-index.c:ends_with Unexecuted instantiation: submodule-config.c:ends_with Unexecuted instantiation: submodule.c:ends_with Unexecuted instantiation: tag.c:ends_with Unexecuted instantiation: tempfile.c:ends_with Unexecuted instantiation: tmp-objdir.c:ends_with Unexecuted instantiation: trailer.c:ends_with Unexecuted instantiation: transport.c:ends_with Unexecuted instantiation: tree-diff.c:ends_with Unexecuted instantiation: tree-walk.c:ends_with Unexecuted instantiation: tree.c:ends_with Unexecuted instantiation: url.c:ends_with Unexecuted instantiation: urlmatch.c:ends_with Unexecuted instantiation: worktree.c:ends_with Unexecuted instantiation: ws.c:ends_with Unexecuted instantiation: wt-status.c:ends_with Unexecuted instantiation: advice.c:ends_with Unexecuted instantiation: attr.c:ends_with Unexecuted instantiation: bisect.c:ends_with Unexecuted instantiation: bloom.c:ends_with Unexecuted instantiation: branch.c:ends_with Unexecuted instantiation: bundle-uri.c:ends_with Unexecuted instantiation: bundle.c:ends_with Unexecuted instantiation: cache-tree.c:ends_with Unexecuted instantiation: chdir-notify.c:ends_with Unexecuted instantiation: color.c:ends_with Unexecuted instantiation: combine-diff.c:ends_with Unexecuted instantiation: commit-graph.c:ends_with Unexecuted instantiation: commit-reach.c:ends_with Unexecuted instantiation: commit.c:ends_with Unexecuted instantiation: connect.c:ends_with Unexecuted instantiation: connected.c:ends_with Unexecuted instantiation: convert.c:ends_with Unexecuted instantiation: copy.c:ends_with Unexecuted instantiation: diff-merges.c:ends_with Unexecuted instantiation: diff-lib.c:ends_with Unexecuted instantiation: diff.c:ends_with Unexecuted instantiation: diffcore-order.c:ends_with Unexecuted instantiation: diffcore-pickaxe.c:ends_with Unexecuted instantiation: diffcore-rename.c:ends_with Unexecuted instantiation: diffcore-rotate.c:ends_with Unexecuted instantiation: dir-iterator.c:ends_with Unexecuted instantiation: fetch-pack.c:ends_with Unexecuted instantiation: fsck.c:ends_with Unexecuted instantiation: gpg-interface.c:ends_with Unexecuted instantiation: graph.c:ends_with Unexecuted instantiation: grep.c:ends_with Unexecuted instantiation: hook.c:ends_with Unexecuted instantiation: line-log.c:ends_with Unexecuted instantiation: list-objects-filter-options.c:ends_with Unexecuted instantiation: list-objects.c:ends_with Unexecuted instantiation: log-tree.c:ends_with Unexecuted instantiation: loose.c:ends_with Unexecuted instantiation: merge-ll.c:ends_with Unexecuted instantiation: merge-ort.c:ends_with Unexecuted instantiation: midx.c:ends_with Unexecuted instantiation: notes-cache.c:ends_with Unexecuted instantiation: notes.c:ends_with Unexecuted instantiation: object-file-convert.c:ends_with Unexecuted instantiation: oidset.c:ends_with Unexecuted instantiation: pack-revindex.c:ends_with Unexecuted instantiation: parse-options-cb.c:ends_with Unexecuted instantiation: parse-options.c:ends_with Unexecuted instantiation: patch-ids.c:ends_with Unexecuted instantiation: pkt-line.c:ends_with Unexecuted instantiation: preload-index.c:ends_with Unexecuted instantiation: progress.c:ends_with Unexecuted instantiation: range-diff.c:ends_with Unexecuted instantiation: refspec.c:ends_with Unexecuted instantiation: send-pack.c:ends_with Unexecuted instantiation: sequencer.c:ends_with Unexecuted instantiation: sideband.c:ends_with Unexecuted instantiation: sub-process.c:ends_with Unexecuted instantiation: transport-helper.c:ends_with Unexecuted instantiation: unpack-trees.c:ends_with Unexecuted instantiation: userdiff.c:ends_with Unexecuted instantiation: xdiff-interface.c:ends_with Unexecuted instantiation: apply.c:ends_with Unexecuted instantiation: entry.c:ends_with Unexecuted instantiation: list-objects-filter.c:ends_with Unexecuted instantiation: match-trees.c:ends_with Unexecuted instantiation: merge-ort-wrappers.c:ends_with Unexecuted instantiation: merge.c:ends_with Unexecuted instantiation: notes-utils.c:ends_with Unexecuted instantiation: parallel-checkout.c:ends_with Unexecuted instantiation: rebase-interactive.c:ends_with Unexecuted instantiation: rerere.c:ends_with Unexecuted instantiation: reset.c:ends_with Unexecuted instantiation: credential.c:ends_with Unexecuted instantiation: prompt.c:ends_with Unexecuted instantiation: terminal.c:ends_with |
720 | | |
721 | | #endif /* STRBUF_H */ |