MCPcopy Index your code
hub / github.com/git/git / format_subst

Function format_subst

archive.c:52–83  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

50}
51
52static void format_subst(const struct commit *commit,
53 const char *src, size_t len,
54 struct strbuf *buf, struct pretty_print_context *ctx)
55{
56 char *to_free = NULL;
57 struct strbuf fmt = STRBUF_INIT;
58
59 if (src == buf->buf)
60 to_free = strbuf_detach(buf, NULL);
61 for (;;) {
62 const char *b, *c;
63
64 b = memmem(src, len, "$Format:", 8);
65 if (!b)
66 break;
67 c = memchr(b + 8, '$', (src + len) - b - 8);
68 if (!c)
69 break;
70
71 strbuf_reset(&fmt);
72 strbuf_add(&fmt, b + 8, c - b - 8);
73
74 strbuf_add(buf, src, b - src);
75 repo_format_commit_message(the_repository, commit, fmt.buf,
76 buf, ctx);
77 len -= c + 1 - src;
78 src = c + 1;
79 }
80 strbuf_add(buf, src, len);
81 strbuf_release(&fmt);
82 free(to_free);
83}
84
85static void *object_file_to_archive(const struct archiver_args *args,
86 const char *path,

Callers 1

object_file_to_archiveFunction · 0.85

Calls 4

strbuf_detachFunction · 0.85
strbuf_addFunction · 0.85
strbuf_releaseFunction · 0.85

Tested by

no test coverage detected