| line |
true |
false |
branch |
|
21
|
85 |
0 |
pathlen = path ? strlen(path) : 0; |
|
23
|
0 |
85 |
GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_sortedcache), pathlen); |
|
|
0 |
85 |
GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_sortedcache), pathlen); |
|
24
|
0 |
85 |
GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1); |
|
|
0 |
85 |
GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1); |
|
26
|
0 |
85 |
GIT_ERROR_CHECK_ALLOC(sc); |
|
29
|
85 |
0 |
git_vector_init(&sc->items, 4, item_cmp) < 0 || |
|
33
|
0 |
85 |
if (git_rwlock_init(&sc->lock)) { |
|
42
|
85 |
0 |
if (pathlen) |
|
70
|
0 |
415 |
if (sc->free_item) { |
|
74
|
0 |
0 |
git_vector_foreach(&sc->items, i, item) { |
|
87
|
0 |
82 |
if (git_sortedcache_wlock(sc) < 0) |
|
102
|
0 |
82 |
if (!sc) |
|
104
|
82 |
0 |
GIT_REFCOUNT_DEC(sc, sortedcache_free); |
|
|
82 |
0 |
GIT_REFCOUNT_DEC(sc, sortedcache_free); |
|
129
|
31 |
0 |
if (!copy_item) { |
|
134
|
0 |
31 |
if ((error = git_sortedcache_new( |
|
140
|
31 |
0 |
if (lock && git_sortedcache_rlock(src) < 0) { |
|
|
0 |
31 |
if (lock && git_sortedcache_rlock(src) < 0) { |
|
145
|
0 |
31 |
git_vector_foreach(&src->items, i, src_item) { |
|
148
|
0 |
0 |
if ((error = git_sortedcache_upsert(&tgt_item, tgt, path)) < 0 || |
|
|
0 |
0 |
if ((error = git_sortedcache_upsert(&tgt_item, tgt, path)) < 0 || |
|
153
|
31 |
0 |
if (lock) |
|
155
|
0 |
31 |
if (error) |
|
158
|
31 |
0 |
*out = !error ? tgt : NULL; |
|
168
|
0 |
756 |
if (git_rwlock_wrlock(&sc->lock) < 0) { |
|
187
|
0 |
295 |
if (git_rwlock_rdlock(&sc->lock) < 0) { |
|
209
|
0 |
333 |
if ((error = git_sortedcache_wlock(sc)) < 0) |
|
212
|
333 |
0 |
if ((error = git_futils_filestamp_check(&sc->stamp, sc->path)) <= 0) |
|
215
|
0 |
0 |
if ((fd = git_futils_open_ro(sc->path)) < 0) { |
|
220
|
0 |
0 |
if (p_fstat(fd, &st) < 0) { |
|
227
|
0 |
0 |
if (!git__is_sizet(st.st_size)) { |
|
234
|
0 |
0 |
if (buf) |
|
239
|
0 |
0 |
if (error < 0) |
|
258
|
333 |
0 |
if (wlock && git_sortedcache_wlock(sc) < 0) |
|
|
0 |
333 |
if (wlock && git_sortedcache_wlock(sc) < 0) |
|
263
|
333 |
0 |
if (wlock) |
|
277
|
0 |
0 |
if ((item = git_strmap_get(sc->map, key)) != NULL) |
|
284
|
0 |
0 |
if ((item = git_pool_mallocz(&sc->pool, itemlen)) == NULL) { |
|
297
|
0 |
0 |
if ((error = git_strmap_set(sc->map, item_key, item)) < 0) |
|
300
|
0 |
0 |
if ((error = git_vector_insert(&sc->items, item)) < 0) |
|
304
|
0 |
0 |
if (out) |
|
305
|
0 |
0 |
*out = !error ? item : NULL; |
|
325
|
0 |
0 |
if (!git_vector_is_sorted(&sc->items)) |
|
366
|
0 |
0 |
if ((item = git_vector_get(&sc->items, pos)) == NULL) { |
|
375
|
0 |
0 |
if (sc->free_item) |