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

Function ident_to_git

convert.c:1122–1165  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1120}
1121
1122static int ident_to_git(const char *src, size_t len,
1123 struct strbuf *buf, int ident)
1124{
1125 char *dst;
1126 const char *dollar;
1127
1128 if (!ident || (src && !count_ident(src, len)))
1129 return 0;
1130
1131 if (!buf)
1132 return 1;
1133
1134 /* only grow if not in place */
1135 if (strbuf_avail(buf) + buf->len < len)
1136 strbuf_grow(buf, len - buf->len);
1137 dst = buf->buf;
1138 for (;;) {
1139 dollar = memchr(src, '$', len);
1140 if (!dollar)
1141 break;
1142 memmove(dst, src, dollar + 1 - src);
1143 dst += dollar + 1 - src;
1144 len -= dollar + 1 - src;
1145 src = dollar + 1;
1146
1147 if (len > 3 && !memcmp(src, "Id:", 3)) {
1148 dollar = memchr(src + 3, '$', len - 3);
1149 if (!dollar)
1150 break;
1151 if (memchr(src + 3, '\n', dollar - src - 3)) {
1152 /* Line break before the next dollar. */
1153 continue;
1154 }
1155
1156 memcpy(dst, "Id$", 3);
1157 dst += 3;
1158 len -= dollar + 1 - src;
1159 src = dollar + 1;
1160 }
1161 }
1162 memmove(dst, src, len);
1163 strbuf_setlen(buf, dst + len - buf->buf);
1164 return 1;
1165}
1166
1167static int ident_to_worktree(const char *src, size_t len,
1168 struct strbuf *buf, int ident)

Callers 2

convert_to_gitFunction · 0.85
convert_to_git_filter_fdFunction · 0.85

Calls 4

count_identFunction · 0.85
strbuf_availFunction · 0.85
strbuf_growFunction · 0.85
strbuf_setlenFunction · 0.85

Tested by

no test coverage detected