Commit fa6420f7 by nulltoken

buf: deploy git_buf_len()

parent 1d2dd864
...@@ -1233,7 +1233,7 @@ static int parse_multiline_variable(diskfile_backend *cfg, git_buf *value, int i ...@@ -1233,7 +1233,7 @@ static int parse_multiline_variable(diskfile_backend *cfg, git_buf *value, int i
* standard, this character **has** to be last one in the buf, with * standard, this character **has** to be last one in the buf, with
* no whitespace after it */ * no whitespace after it */
assert(is_multiline_var(value->ptr)); assert(is_multiline_var(value->ptr));
git_buf_truncate(value, value->size - 1); git_buf_truncate(value, git_buf_len(value) - 1);
proc_line = fixup_line(line, in_quotes); proc_line = fixup_line(line, in_quotes);
if (proc_line == NULL) { if (proc_line == NULL) {
......
...@@ -105,7 +105,7 @@ static int crlf_load_attributes(struct crlf_attrs *ca, git_repository *repo, con ...@@ -105,7 +105,7 @@ static int crlf_load_attributes(struct crlf_attrs *ca, git_repository *repo, con
static int drop_crlf(git_buf *dest, const git_buf *source) static int drop_crlf(git_buf *dest, const git_buf *source)
{ {
const char *scan = source->ptr, *next; const char *scan = source->ptr, *next;
const char *scan_end = source->ptr + source->size; const char *scan_end = git_buf_cstr(source) + git_buf_len(source);
/* Main scan loop. Find the next carriage return and copy the /* Main scan loop. Find the next carriage return and copy the
* whole chunk up to that point to the destination buffer. * whole chunk up to that point to the destination buffer.
...@@ -138,7 +138,7 @@ static int crlf_apply_to_odb(git_filter *self, git_buf *dest, const git_buf *sou ...@@ -138,7 +138,7 @@ static int crlf_apply_to_odb(git_filter *self, git_buf *dest, const git_buf *sou
assert(self && dest && source); assert(self && dest && source);
/* Empty file? Nothing to do */ /* Empty file? Nothing to do */
if (source->size == 0) if (git_buf_len(source) == 0)
return 0; return 0;
/* Heuristics to see if we can skip the conversion. /* Heuristics to see if we can skip the conversion.
......
...@@ -19,13 +19,13 @@ void git_text_gather_stats(git_text_stats *stats, const git_buf *text) ...@@ -19,13 +19,13 @@ void git_text_gather_stats(git_text_stats *stats, const git_buf *text)
memset(stats, 0, sizeof(*stats)); memset(stats, 0, sizeof(*stats));
for (i = 0; i < text->size; i++) { for (i = 0; i < git_buf_len(text); i++) {
unsigned char c = text->ptr[i]; unsigned char c = text->ptr[i];
if (c == '\r') { if (c == '\r') {
stats->cr++; stats->cr++;
if (i + 1 < text->size && text->ptr[i + 1] == '\n') if (i + 1 < git_buf_len(text) && text->ptr[i + 1] == '\n')
stats->crlf++; stats->crlf++;
} }
...@@ -59,7 +59,7 @@ void git_text_gather_stats(git_text_stats *stats, const git_buf *text) ...@@ -59,7 +59,7 @@ void git_text_gather_stats(git_text_stats *stats, const git_buf *text)
} }
/* If file ends with EOF then don't count this EOF as non-printable. */ /* If file ends with EOF then don't count this EOF as non-printable. */
if (text->size >= 1 && text->ptr[text->size - 1] == '\032') if (git_buf_len(text) >= 1 && text->ptr[text->size - 1] == '\032')
stats->nonprintable--; stats->nonprintable--;
} }
...@@ -127,14 +127,14 @@ int git_filters_apply(git_buf *dest, git_buf *source, git_vector *filters) ...@@ -127,14 +127,14 @@ int git_filters_apply(git_buf *dest, git_buf *source, git_vector *filters)
src = 0; src = 0;
if (source->size == 0) { if (git_buf_len(source) == 0) {
git_buf_clear(dest); git_buf_clear(dest);
return GIT_SUCCESS; return GIT_SUCCESS;
} }
/* Pre-grow the destination buffer to more or less the size /* Pre-grow the destination buffer to more or less the size
* we expect it to have */ * we expect it to have */
if (git_buf_grow(dest, source->size) < 0) if (git_buf_grow(dest, git_buf_len(source)) < 0)
return GIT_ENOMEM; return GIT_ENOMEM;
for (i = 0; i < filters->length; ++i) { for (i = 0; i < filters->length; ++i) {
......
...@@ -401,7 +401,7 @@ static int index_path_stream(git_buf *path, git_indexer_stream *idx, const char ...@@ -401,7 +401,7 @@ static int index_path_stream(git_buf *path, git_indexer_stream *idx, const char
git_buf_truncate(path, slash); git_buf_truncate(path, slash);
git_buf_puts(path, prefix); git_buf_puts(path, prefix);
git_oid_fmt(path->ptr + path->size, &idx->hash); git_oid_fmt(path->ptr + git_buf_len(path), &idx->hash);
path->size += GIT_OID_HEXSZ; path->size += GIT_OID_HEXSZ;
git_buf_puts(path, suffix); git_buf_puts(path, suffix);
...@@ -633,7 +633,7 @@ static int index_path(git_buf *path, git_indexer *idx) ...@@ -633,7 +633,7 @@ static int index_path(git_buf *path, git_indexer *idx)
git_buf_truncate(path, slash); git_buf_truncate(path, slash);
git_buf_puts(path, prefix); git_buf_puts(path, prefix);
git_oid_fmt(path->ptr + path->size, &idx->hash); git_oid_fmt(path->ptr + git_buf_len(path), &idx->hash);
path->size += GIT_OID_HEXSZ; path->size += GIT_OID_HEXSZ;
git_buf_puts(path, suffix); git_buf_puts(path, suffix);
......
...@@ -61,13 +61,13 @@ static int object_file_name(git_buf *name, const char *dir, const git_oid *id) ...@@ -61,13 +61,13 @@ static int object_file_name(git_buf *name, const char *dir, const git_oid *id)
git_buf_sets(name, dir); git_buf_sets(name, dir);
/* expand length for 40 hex sha1 chars + 2 * '/' + '\0' */ /* expand length for 40 hex sha1 chars + 2 * '/' + '\0' */
if (git_buf_grow(name, name->size + GIT_OID_HEXSZ + 3) < 0) if (git_buf_grow(name, git_buf_len(name) + GIT_OID_HEXSZ + 3) < 0)
return -1; return -1;
git_path_to_dir(name); git_path_to_dir(name);
/* loose object filename: aa/aaa... (41 bytes) */ /* loose object filename: aa/aaa... (41 bytes) */
git_oid_pathfmt(name->ptr + name->size, id); git_oid_pathfmt(name->ptr + git_buf_len(name), id);
name->size += GIT_OID_HEXSZ + 1; name->size += GIT_OID_HEXSZ + 1;
name->ptr[name->size] = '\0'; name->ptr[name->size] = '\0';
...@@ -81,7 +81,7 @@ static size_t get_binary_object_header(obj_hdr *hdr, git_buf *obj) ...@@ -81,7 +81,7 @@ static size_t get_binary_object_header(obj_hdr *hdr, git_buf *obj)
unsigned char *data = (unsigned char *)obj->ptr; unsigned char *data = (unsigned char *)obj->ptr;
size_t shift, size, used = 0; size_t shift, size, used = 0;
if (obj->size == 0) if (git_buf_len(obj) == 0)
return 0; return 0;
c = data[used++]; c = data[used++];
...@@ -90,7 +90,7 @@ static size_t get_binary_object_header(obj_hdr *hdr, git_buf *obj) ...@@ -90,7 +90,7 @@ static size_t get_binary_object_header(obj_hdr *hdr, git_buf *obj)
size = c & 15; size = c & 15;
shift = 4; shift = 4;
while (c & 0x80) { while (c & 0x80) {
if (obj->size <= used) if (git_buf_len(obj) <= used)
return 0; return 0;
if (sizeof(size_t) * 8 <= shift) if (sizeof(size_t) * 8 <= shift)
return 0; return 0;
...@@ -182,7 +182,7 @@ static int start_inflate(z_stream *s, git_buf *obj, void *out, size_t len) ...@@ -182,7 +182,7 @@ static int start_inflate(z_stream *s, git_buf *obj, void *out, size_t len)
int status; int status;
init_stream(s, out, len); init_stream(s, out, len);
set_stream_input(s, obj->ptr, obj->size); set_stream_input(s, obj->ptr, git_buf_len(obj));
if ((status = inflateInit(s)) < Z_OK) if ((status = inflateInit(s)) < Z_OK)
return status; return status;
...@@ -469,7 +469,7 @@ static int locate_object( ...@@ -469,7 +469,7 @@ static int locate_object(
static int fn_locate_object_short_oid(void *state, git_buf *pathbuf) { static int fn_locate_object_short_oid(void *state, git_buf *pathbuf) {
loose_locate_object_state *sstate = (loose_locate_object_state *)state; loose_locate_object_state *sstate = (loose_locate_object_state *)state;
if (pathbuf->size - sstate->dir_len != GIT_OID_HEXSZ - 2) { if (git_buf_len(pathbuf) - sstate->dir_len != GIT_OID_HEXSZ - 2) {
/* Entry cannot be an object. Continue to next entry */ /* Entry cannot be an object. Continue to next entry */
return 0; return 0;
} }
...@@ -517,7 +517,7 @@ static int locate_object_short_oid( ...@@ -517,7 +517,7 @@ static int locate_object_short_oid(
git_path_to_dir(object_location); git_path_to_dir(object_location);
/* save adjusted position at end of dir so it can be restored later */ /* save adjusted position at end of dir so it can be restored later */
dir_len = object_location->size; dir_len = git_buf_len(object_location);
/* Convert raw oid to hex formatted oid */ /* Convert raw oid to hex formatted oid */
git_oid_fmt((char *)state.short_oid, short_oid); git_oid_fmt((char *)state.short_oid, short_oid);
...@@ -530,7 +530,7 @@ static int locate_object_short_oid( ...@@ -530,7 +530,7 @@ static int locate_object_short_oid(
if (git_path_isdir(object_location->ptr) == false) if (git_path_isdir(object_location->ptr) == false)
return git_odb__error_notfound("failed to locate from short oid"); return git_odb__error_notfound("failed to locate from short oid");
state.dir_len = object_location->size; state.dir_len = git_buf_len(object_location);
state.short_oid_len = len; state.short_oid_len = len;
state.found = 0; state.found = 0;
......
...@@ -219,7 +219,7 @@ static int packfile_load__cb(void *_data, git_buf *path) ...@@ -219,7 +219,7 @@ static int packfile_load__cb(void *_data, git_buf *path)
for (i = 0; i < backend->packs.length; ++i) { for (i = 0; i < backend->packs.length; ++i) {
struct git_pack_file *p = git_vector_get(&backend->packs, i); struct git_pack_file *p = git_vector_get(&backend->packs, i);
if (memcmp(p->pack_name, path->ptr, path->size - strlen(".idx")) == 0) if (memcmp(p->pack_name, git_buf_cstr(path), git_buf_len(path) - strlen(".idx")) == 0)
return 0; return 0;
} }
......
...@@ -221,8 +221,8 @@ int git_path_prettify_dir(git_buf *path_out, const char *path, const char *base) ...@@ -221,8 +221,8 @@ int git_path_prettify_dir(git_buf *path_out, const char *path, const char *base)
int git_path_to_dir(git_buf *path) int git_path_to_dir(git_buf *path)
{ {
if (path->asize > 0 && if (path->asize > 0 &&
path->size > 0 && git_buf_len(path) > 0 &&
path->ptr[path->size - 1] != '/') path->ptr[git_buf_len(path) - 1] != '/')
git_buf_putc(path, '/'); git_buf_putc(path, '/');
return git_buf_oom(path) ? -1 : 0; return git_buf_oom(path) ? -1 : 0;
...@@ -327,12 +327,12 @@ int git_path_walk_up( ...@@ -327,12 +327,12 @@ int git_path_walk_up(
if (git__prefixcmp(path->ptr, ceiling) == 0) if (git__prefixcmp(path->ptr, ceiling) == 0)
stop = (ssize_t)strlen(ceiling); stop = (ssize_t)strlen(ceiling);
else else
stop = path->size; stop = git_buf_len(path);
} }
scan = path->size; scan = git_buf_len(path);
iter.ptr = path->ptr; iter.ptr = path->ptr;
iter.size = path->size; iter.size = git_buf_len(path);
iter.asize = path->asize; iter.asize = path->asize;
while (scan >= stop) { while (scan >= stop) {
...@@ -407,7 +407,7 @@ static bool _check_dir_contents( ...@@ -407,7 +407,7 @@ static bool _check_dir_contents(
bool (*predicate)(const char *)) bool (*predicate)(const char *))
{ {
bool result; bool result;
size_t dir_size = dir->size; size_t dir_size = git_buf_len(dir);
size_t sub_size = strlen(sub); size_t sub_size = strlen(sub);
/* leave base valid even if we could not make space for subdir */ /* leave base valid even if we could not make space for subdir */
...@@ -503,7 +503,7 @@ int git_path_direach( ...@@ -503,7 +503,7 @@ int git_path_direach(
if (git_path_to_dir(path) < 0) if (git_path_to_dir(path) < 0)
return -1; return -1;
wd_len = path->size; wd_len = git_buf_len(path);
if ((dir = opendir(path->ptr)) == NULL) { if ((dir = opendir(path->ptr)) == NULL) {
giterr_set(GITERR_OS, "Failed to open directory '%s'", path->ptr); giterr_set(GITERR_OS, "Failed to open directory '%s'", path->ptr);
......
...@@ -277,7 +277,7 @@ static int buffer_want_with_caps(git_remote_head *head, git_transport_caps *caps ...@@ -277,7 +277,7 @@ static int buffer_want_with_caps(git_remote_head *head, git_transport_caps *caps
len = (unsigned int) len = (unsigned int)
(strlen("XXXXwant ") + GIT_OID_HEXSZ + 1 /* NUL */ + (strlen("XXXXwant ") + GIT_OID_HEXSZ + 1 /* NUL */ +
strlen(capstr) + 1 /* LF */); strlen(capstr) + 1 /* LF */);
git_buf_grow(buf, buf->size + len); git_buf_grow(buf, git_buf_len(buf) + len);
git_oid_fmt(oid, &head->oid); git_oid_fmt(oid, &head->oid);
return git_buf_printf(buf, "%04xwant %s%c%s\n", len, oid, 0, capstr); return git_buf_printf(buf, "%04xwant %s%c%s\n", len, oid, 0, capstr);
......
...@@ -17,7 +17,7 @@ int git_protocol_store_refs(git_protocol *p, const char *data, size_t len) ...@@ -17,7 +17,7 @@ int git_protocol_store_refs(git_protocol *p, const char *data, size_t len)
const char *line_end, *ptr; const char *line_end, *ptr;
if (len == 0) { /* EOF */ if (len == 0) { /* EOF */
if (buf->size != 0) { if (git_buf_len(buf) != 0) {
giterr_set(GITERR_NET, "Unexpected EOF"); giterr_set(GITERR_NET, "Unexpected EOF");
return p->error = -1; return p->error = -1;
} else { } else {
...@@ -30,10 +30,10 @@ int git_protocol_store_refs(git_protocol *p, const char *data, size_t len) ...@@ -30,10 +30,10 @@ int git_protocol_store_refs(git_protocol *p, const char *data, size_t len)
while (1) { while (1) {
git_pkt *pkt; git_pkt *pkt;
if (buf->size == 0) if (git_buf_len(buf) == 0)
return 0; return 0;
error = git_pkt_parse_line(&pkt, ptr, &line_end, buf->size); error = git_pkt_parse_line(&pkt, ptr, &line_end, git_buf_len(buf));
if (error == GIT_ESHORTBUFFER) if (error == GIT_ESHORTBUFFER)
return 0; /* Ask for more */ return 0; /* Ask for more */
if (error < 0) if (error < 0)
......
...@@ -139,7 +139,7 @@ static int loose_parse_symbolic(git_reference *ref, git_buf *file_content) ...@@ -139,7 +139,7 @@ static int loose_parse_symbolic(git_reference *ref, git_buf *file_content)
refname_start = (const char *)file_content->ptr; refname_start = (const char *)file_content->ptr;
if (file_content->size < header_len + 1) if (git_buf_len(file_content) < header_len + 1)
goto corrupt; goto corrupt;
/* /*
...@@ -174,7 +174,7 @@ static int loose_parse_oid(git_oid *oid, git_buf *file_content) ...@@ -174,7 +174,7 @@ static int loose_parse_oid(git_oid *oid, git_buf *file_content)
buffer = (char *)file_content->ptr; buffer = (char *)file_content->ptr;
/* File format: 40 chars (OID) + newline */ /* File format: 40 chars (OID) + newline */
if (file_content->size < GIT_OID_HEXSZ + 1) if (git_buf_len(file_content) < GIT_OID_HEXSZ + 1)
goto corrupt; goto corrupt;
if (git_oid_fromstr(oid, buffer) < 0) if (git_oid_fromstr(oid, buffer) < 0)
......
...@@ -103,10 +103,10 @@ int git_refspec_transform_r(git_buf *out, const git_refspec *spec, const char *n ...@@ -103,10 +103,10 @@ int git_refspec_transform_r(git_buf *out, const git_refspec *spec, const char *n
* No '*' at the end means that it's mapped to one specific local * No '*' at the end means that it's mapped to one specific local
* branch, so no actual transformation is needed. * branch, so no actual transformation is needed.
*/ */
if (out->size > 0 && out->ptr[out->size - 1] != '*') if (git_buf_len(out) > 0 && out->ptr[git_buf_len(out) - 1] != '*')
return GIT_SUCCESS; return GIT_SUCCESS;
git_buf_truncate(out, out->size - 1); /* remove trailing '*' */ git_buf_truncate(out, git_buf_len(out) - 1); /* remove trailing '*' */
git_buf_puts(out, name + strlen(spec->src) - 1); git_buf_puts(out, name + strlen(spec->src) - 1);
if (git_buf_oom(out)) if (git_buf_oom(out))
......
...@@ -278,7 +278,7 @@ static int find_repo( ...@@ -278,7 +278,7 @@ static int find_repo(
if ((error = git_buf_joinpath(&path, path.ptr, DOT_GIT)) < 0) if ((error = git_buf_joinpath(&path, path.ptr, DOT_GIT)) < 0)
return error; return error;
while (!error && !repo_path->size) { while (!error && !git_buf_len(repo_path)) {
if (p_stat(path.ptr, &st) == 0) { if (p_stat(path.ptr, &st) == 0) {
/* check that we have not crossed device boundaries */ /* check that we have not crossed device boundaries */
if (initial_device == 0) if (initial_device == 0)
...@@ -328,7 +328,7 @@ static int find_repo( ...@@ -328,7 +328,7 @@ static int find_repo(
} }
if (!error && parent_path != NULL) { if (!error && parent_path != NULL) {
if (!repo_path->size) if (!git_buf_len(repo_path))
git_buf_clear(parent_path); git_buf_clear(parent_path);
else { else {
git_path_dirname_r(parent_path, path.ptr); git_path_dirname_r(parent_path, path.ptr);
...@@ -340,7 +340,7 @@ static int find_repo( ...@@ -340,7 +340,7 @@ static int find_repo(
git_buf_free(&path); git_buf_free(&path);
if (!repo_path->size && !error) { if (!git_buf_len(repo_path) && !error) {
giterr_set(GITERR_REPOSITORY, giterr_set(GITERR_REPOSITORY,
"Could not find repository from '%s'", start_path); "Could not find repository from '%s'", start_path);
error = GIT_ENOTFOUND; error = GIT_ENOTFOUND;
......
...@@ -321,7 +321,7 @@ static int on_body_parse_response(http_parser *parser, const char *str, size_t l ...@@ -321,7 +321,7 @@ static int on_body_parse_response(http_parser *parser, const char *str, size_t l
const char *line_end, *ptr; const char *line_end, *ptr;
if (len == 0) { /* EOF */ if (len == 0) { /* EOF */
if (buf->size != 0) { if (git_buf_len(buf) != 0) {
giterr_set(GITERR_NET, "Unexpected EOF"); giterr_set(GITERR_NET, "Unexpected EOF");
return t->error = -1; return t->error = -1;
} else { } else {
...@@ -334,10 +334,10 @@ static int on_body_parse_response(http_parser *parser, const char *str, size_t l ...@@ -334,10 +334,10 @@ static int on_body_parse_response(http_parser *parser, const char *str, size_t l
while (1) { while (1) {
git_pkt *pkt; git_pkt *pkt;
if (buf->size == 0) if (git_buf_len(buf) == 0)
return 0; return 0;
error = git_pkt_parse_line(&pkt, ptr, &line_end, buf->size); error = git_pkt_parse_line(&pkt, ptr, &line_end, git_buf_len(buf));
if (error == GIT_ESHORTBUFFER) { if (error == GIT_ESHORTBUFFER) {
return 0; /* Ask for more */ return 0; /* Ask for more */
} }
...@@ -555,9 +555,9 @@ static int http_download_pack(git_transport *transport, git_repository *repo, gi ...@@ -555,9 +555,9 @@ static int http_download_pack(git_transport *transport, git_repository *repo, gi
memset(&settings, 0x0, sizeof(settings)); memset(&settings, 0x0, sizeof(settings));
settings.on_message_complete = on_message_complete_download_pack; settings.on_message_complete = on_message_complete_download_pack;
settings.on_body = on_body_download_pack; settings.on_body = on_body_download_pack;
*bytes = oldbuf->size; *bytes = git_buf_len(oldbuf);
if (git_indexer_stream_add(idx, oldbuf->ptr, oldbuf->size, stats) < 0) if (git_indexer_stream_add(idx, git_buf_cstr(oldbuf), git_buf_len(oldbuf), stats) < 0)
goto on_error; goto on_error;
do { do {
......
...@@ -711,7 +711,7 @@ static int tree_walk_post( ...@@ -711,7 +711,7 @@ static int tree_walk_post(
if (entry_is_tree(entry)) { if (entry_is_tree(entry)) {
git_tree *subtree; git_tree *subtree;
size_t path_len = path->size; size_t path_len = git_buf_len(path);
if ((error = git_tree_lookup( if ((error = git_tree_lookup(
&subtree, tree->object.repo, &entry->oid)) < 0) &subtree, tree->object.repo, &entry->oid)) < 0)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment