line |
true |
false |
branch |
32
|
9801 |
0 |
if (!(0x80 & (unsigned char)*path)) |
33
|
9618 |
183 |
return *path && path[1] == ':' ? 2 : 0; |
|
0 |
9618 |
return *path && path[1] == ':' ? 2 : 0; |
43
|
0 |
0 |
for (i = 1; i < 4 && (0x80 & (unsigned char)path[i]); i++) |
|
0 |
0 |
for (i = 1; i < 4 && (0x80 & (unsigned char)path[i]); i++) |
45
|
0 |
0 |
return path[i] == ':' ? i + 1 : 0; |
102
|
19 |
0 |
if (path == NULL || *path == '\0') { |
|
0 |
19 |
if (path == NULL || *path == '\0') { |
110
|
19 |
0 |
while (endp > path && *endp == '/') |
|
0 |
19 |
while (endp > path && *endp == '/') |
114
|
0 |
19 |
if (endp == path && *endp == '/') { |
|
0 |
0 |
if (endp == path && *endp == '/') { |
122
|
76 |
0 |
while (startp > path && *(startp - 1) != '/') |
|
57 |
19 |
while (startp > path && *(startp - 1) != '/') |
131
|
19 |
0 |
if (buffer != NULL && git_buf_set(buffer, startp, len) < 0) |
|
0 |
19 |
if (buffer != NULL && git_buf_set(buffer, startp, len) < 0) |
175
|
1306 |
0 |
if (path == NULL || *path == '\0') { |
|
0 |
1306 |
if (path == NULL || *path == '\0') { |
183
|
1349 |
0 |
while (endp > path && *endp == '/') |
|
43 |
1306 |
while (endp > path && *endp == '/') |
186
|
0 |
1306 |
if (endp - path + 1 > INT_MAX) { |
192
|
0 |
1306 |
if ((len = win32_prefix_length(path, (int)(endp - path + 1))) > 0) { |
198
|
15954 |
186 |
while (endp > path && *endp != '/') |
|
14834 |
1120 |
while (endp > path && *endp != '/') |
202
|
186 |
1120 |
if (endp == path) { |
203
|
0 |
186 |
path = (*endp == '/') ? "/" : "."; |
210
|
1120 |
0 |
} while (endp > path && *endp == '/'); |
|
0 |
1120 |
} while (endp > path && *endp == '/'); |
212
|
0 |
1120 |
if (endp - path + 1 > INT_MAX) { |
218
|
0 |
1120 |
if ((len = win32_prefix_length(path, (int)(endp - path + 1))) > 0) { |
227
|
1306 |
0 |
if (buffer) { |
228
|
0 |
1306 |
if (git_buf_set(buffer, path, len) < 0) |
230
|
0 |
1306 |
if (is_prefix && git_buf_putc(buffer, '/') < 0) |
|
0 |
0 |
if (is_prefix && git_buf_putc(buffer, '/') < 0) |
266
|
0 |
0 |
if (!buffer || buffer->size <= 0) |
|
0 |
0 |
if (!buffer || buffer->size <= 0) |
271
|
0 |
0 |
if (slash >= 0 && buffer->ptr[slash] == '/') |
|
0 |
0 |
if (slash >= 0 && buffer->ptr[slash] == '/') |
282
|
0 |
0 |
assert(path); |
285
|
0 |
0 |
if (!len || path[len - 1] != '/') |
|
0 |
0 |
if (!len || path[len - 1] != '/') |
288
|
0 |
0 |
for (i = (ssize_t)len - 2; i >= 0; --i) |
289
|
0 |
0 |
if (path[i] == '/') |
300
|
0 |
9801 |
if ((prefix_len = dos_drive_prefix_length(path))) |
319
|
1705 |
8096 |
if (path[offset] == '/') |
328
|
0 |
456 |
assert(ceiling >= 0); |
330
|
912 |
0 |
while (path->size > (size_t)ceiling) { |
331
|
456 |
456 |
if (path->ptr[path->size-1] != '/') |
344
|
2296 |
0 |
assert(path && path_out); |
|
0 |
2296 |
assert(path && path_out); |
348
|
2268 |
28 |
if (base != NULL && root < 0) { |
|
2094 |
174 |
if (base != NULL && root < 0) { |
349
|
0 |
2094 |
if (git_buf_joinpath(path_out, base, path) < 0) |
354
|
0 |
202 |
if (git_buf_sets(path_out, path) < 0) |
357
|
0 |
202 |
if (root < 0) |
359
|
174 |
28 |
else if (base) |
363
|
1567 |
729 |
if (root_at) |
373
|
0 |
19 |
if (path->size == 0) |
376
|
268 |
19 |
for (p = path->ptr, q = path->ptr; *q; p++, q++) { |
379
|
27 |
241 |
while (*q == '/' && *(q+1) == '/') { |
|
0 |
27 |
while (*q == '/' && *(q+1) == '/') { |
392
|
68 |
0 |
assert(path && path_out); |
|
0 |
68 |
assert(path && path_out); |
395
|
4 |
64 |
if (base != NULL && git_path_root(path) < 0) { |
|
0 |
4 |
if (base != NULL && git_path_root(path) < 0) { |
396
|
0 |
0 |
if (git_buf_joinpath(path_out, base, path) < 0) |
401
|
0 |
68 |
if (p_realpath(path, buf) == NULL) { |
403
|
0 |
0 |
int error = (errno == ENOENT || errno == ENOTDIR) ? GIT_ENOTFOUND : -1; |
|
0 |
0 |
int error = (errno == ENOENT || errno == ENOTDIR) ? GIT_ENOTFOUND : -1; |
417
|
23 |
0 |
return (error < 0) ? error : git_path_to_dir(path_out); |
423
|
2411 |
1660 |
git_buf_len(path) > 0 && |
427
|
0 |
4257 |
return git_buf_oom(path) ? -1 : 0; |
434
|
0 |
0 |
if (end && path[end - 1] != '/' && end < size) { |
|
0 |
0 |
if (end && path[end - 1] != '/' && end < size) { |
|
0 |
0 |
if (end && path[end - 1] != '/' && end < size) { |
443
|
3 |
0 |
assert(decoded_out && input); |
|
0 |
3 |
assert(decoded_out && input); |
448
|
150 |
3 |
for(i = 0; i < len; i++) |
452
|
150 |
0 |
if (c != '%') |
455
|
0 |
0 |
if (i >= len - 2) |
461
|
0 |
0 |
if (hi < 0 || lo < 0) |
|
0 |
0 |
if (hi < 0 || lo < 0) |
468
|
0 |
150 |
if (git_buf_putc(decoded_out, c) < 0) |
485
|
6 |
3 |
if (git__prefixcmp(file_url, "file://") == 0) { |
486
|
6 |
0 |
if (file_url[7] == '/') |
488
|
0 |
0 |
else if (git__prefixcmp(file_url + 7, "localhost/") == 0) |
504
|
3 |
0 |
assert(local_path_out && file_url); |
|
0 |
3 |
assert(local_path_out && file_url); |
506
|
3 |
0 |
if ((offset = local_file_url_prefixlen(file_url)) < 0 || |
|
3 |
0 |
if ((offset = local_file_url_prefixlen(file_url)) < 0 || |
507
|
0 |
3 |
file_url[offset] == '\0' || file_url[offset] == '/') |
529
|
777 |
0 |
assert(path && cb); |
|
0 |
777 |
assert(path && cb); |
531
|
777 |
0 |
if (ceiling != NULL) { |
532
|
777 |
0 |
if (git__prefixcmp(path->ptr, ceiling) == 0) |
540
|
0 |
777 |
if (!scan) { |
542
|
0 |
0 |
if (error) |
551
|
923 |
751 |
while (scan >= stop) { |
555
|
26 |
897 |
if (error) { |
561
|
897 |
0 |
if (scan >= 0) { |
569
|
777 |
0 |
if (scan >= 0) |
573
|
751 |
26 |
if (!error && stop == 0 && iter.ptr[0] != '/') { |
|
0 |
751 |
if (!error && stop == 0 && iter.ptr[0] != '/') { |
|
0 |
0 |
if (!error && stop == 0 && iter.ptr[0] != '/') { |
575
|
0 |
0 |
if (error) |
584
|
0 |
2880 |
assert(path); |
591
|
336 |
1575 |
if (p_stat(path, &st) < 0) |
601
|
0 |
648 |
assert(path); |
602
|
454 |
194 |
if (p_stat(path, &st) < 0) |
612
|
0 |
0 |
assert(path); |
613
|
0 |
0 |
if (p_lstat(path, &st) < 0) |
675
|
0 |
2 |
if (!git_path_isdir(path)) |
678
|
0 |
2 |
if ((error = git_buf_sets(&dir, path)) != 0) |
719
|
1229 |
0 |
if (p_lstat(path, st) == 0) |
736
|
0 |
509 |
if (GIT_ADD_SIZET_OVERFLOW(&alloc_size, dir_size, sub_size) || |
|
0 |
509 |
if (GIT_ADD_SIZET_OVERFLOW(&alloc_size, dir_size, sub_size) || |
737
|
0 |
509 |
GIT_ADD_SIZET_OVERFLOW(&alloc_size, alloc_size, 2) || |
742
|
0 |
509 |
if (git_buf_joinpath(dir, dir->ptr, sub) < 0) |
771
|
565 |
0 |
if (!error) { |
773
|
547 |
18 |
if (p_realpath(dir->ptr, buf) != NULL) |
778
|
565 |
0 |
if (!error) /* && git_path_isdir(dir->ptr) == false) */ |
779
|
0 |
565 |
error = (git_path_dirname_r(dir, dir->ptr) < 0) ? -1 : 0; |
781
|
565 |
0 |
if (!error) |
792
|
186 |
0 |
GIT_ERROR_CHECK_ALLOC_BUF(path); |
|
0 |
186 |
GIT_ERROR_CHECK_ALLOC_BUF(path); |
794
|
0 |
186 |
if (ceiling > path->size) |
798
|
186 |
0 |
if (ceiling == 0) |
802
|
186 |
0 |
if (ceiling == 0) { |
803
|
186 |
0 |
for (next = path->ptr; *next && git__isalpha(*next); ++next); |
|
0 |
186 |
for (next = path->ptr; *next && git__isalpha(*next); ++next); |
804
|
0 |
186 |
if (next[0] == ':' && next[1] == '/' && next[2] == '/') |
|
0 |
0 |
if (next[0] == ':' && next[1] == '/' && next[2] == '/') |
|
0 |
0 |
if (next[0] == ':' && next[1] == '/' && next[2] == '/') |
810
|
186 |
186 |
while (*from) { |
811
|
186 |
186 |
for (next = from; *next && *next != '/'; ++next); |
|
186 |
0 |
for (next = from; *next && *next != '/'; ++next); |
815
|
186 |
0 |
if (len == 1 && from[0] == '.') |
|
186 |
0 |
if (len == 1 && from[0] == '.') |
818
|
0 |
0 |
else if (len == 2 && from[0] == '.' && from[1] == '.') { |
|
0 |
0 |
else if (len == 2 && from[0] == '.' && from[1] == '.') { |
|
0 |
0 |
else if (len == 2 && from[0] == '.' && from[1] == '.') { |
820
|
0 |
0 |
if (to == base && ceiling != 0) { |
|
0 |
0 |
if (to == base && ceiling != 0) { |
828
|
0 |
0 |
if (to == base) { |
829
|
0 |
0 |
if (*next == '/') |
832
|
0 |
0 |
if (to != from) |
841
|
0 |
0 |
while (to > base && to[-1] == '/') to--; |
|
0 |
0 |
while (to > base && to[-1] == '/') to--; |
842
|
0 |
0 |
while (to > base && to[-1] != '/') to--; |
|
0 |
0 |
while (to > base && to[-1] != '/') to--; |
845
|
0 |
0 |
if (*next == '/' && *from != '/') |
|
0 |
0 |
if (*next == '/' && *from != '/') |
848
|
0 |
0 |
if (to != from) |
856
|
0 |
186 |
while (*from == '/') from++; |
882
|
137 |
83 |
if (cmp) |
888
|
34 |
49 |
if (c1 == '\0' && isdir1) |
|
1 |
33 |
if (c1 == '\0' && isdir1) |
891
|
49 |
34 |
if (c2 == '\0' && isdir2) |
|
2 |
47 |
if (c2 == '\0' && isdir2) |
894
|
48 |
35 |
return (c1 < c2) ? -1 : (c1 > c2) ? 1 : 0; |
901
|
166 |
8 |
for (p = one, q = two; *p && *q; p++, q++) { |
|
166 |
0 |
for (p = one, q = two; *p && *q; p++, q++) { |
902
|
28 |
138 |
if (*p == '/' && *q == '/') |
|
28 |
0 |
if (*p == '/' && *q == '/') |
904
|
14 |
124 |
else if (*p != *q) |
908
|
21 |
1 |
return dirsep ? (dirsep - one) + 1 : 0; |
916
|
0 |
0 |
for (p_dirsep = p = path->ptr, q_dirsep = q = parent; *p && *q; p++, q++) { |
|
0 |
0 |
for (p_dirsep = p = path->ptr, q_dirsep = q = parent; *p && *q; p++, q++) { |
917
|
0 |
0 |
if (*p == '/' && *q == '/') { |
|
0 |
0 |
if (*p == '/' && *q == '/') { |
921
|
0 |
0 |
else if (*p != *q) |
926
|
0 |
0 |
if ((p_dirsep == path->ptr || q_dirsep == parent) && |
|
0 |
0 |
if ((p_dirsep == path->ptr || q_dirsep == parent) && |
|
0 |
0 |
if ((p_dirsep == path->ptr || q_dirsep == parent) && |
927
|
0 |
0 |
(*p_dirsep != '/' || *q_dirsep != '/')) { |
933
|
0 |
0 |
if (*p == '/' && !*q) |
|
0 |
0 |
if (*p == '/' && !*q) |
935
|
0 |
0 |
else if (!*p && *q == '/') |
|
0 |
0 |
else if (!*p && *q == '/') |
937
|
0 |
0 |
else if (!*p && !*q) |
|
0 |
0 |
else if (!*p && !*q) |
946
|
0 |
0 |
if (!*q) |
949
|
0 |
0 |
for (; (q = strchr(q, '/')) && *(q + 1); q++) |
|
0 |
0 |
for (; (q = strchr(q, '/')) && *(q + 1); q++) |
952
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC_MULTIPLY(&newlen, depth, 3); |
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC_MULTIPLY(&newlen, depth, 3); |
953
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC_ADD(&newlen, newlen, plen); |
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC_ADD(&newlen, newlen, plen); |
955
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, newlen, 1); |
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, newlen, 1); |
959
|
0 |
0 |
if (git_buf_try_grow(path, alloclen, 1) < 0) |
965
|
0 |
0 |
for (i = 0; i < depth; i++) |
976
|
0 |
0 |
for (end = scan + pathlen; scan < end; ++scan) |
977
|
0 |
0 |
if (*scan & 0x80) |
1138
|
0 |
338 |
if (git_path_to_dir(path) < 0) |
1143
|
0 |
338 |
if ((dir = opendir(path->ptr)) == NULL) { |
1145
|
0 |
0 |
if (errno == ENOENT) |
1156
|
947 |
336 |
while ((de = readdir(dir)) != NULL) { |
1160
|
672 |
275 |
if (git_path_is_dot_or_dotdot(de_path)) |
1168
|
0 |
275 |
if ((error = git_buf_put(path, de_path, de_len)) < 0) |
1177
|
2 |
273 |
if (error != 0) { |
1178
|
2 |
0 |
if (!git_error_last()) |
1364
|
456 |
0 |
assert(diriter && path); |
|
0 |
456 |
assert(diriter && path); |
1368
|
0 |
456 |
if (git_buf_puts(&diriter->path, path) < 0) |
1373
|
0 |
456 |
if (diriter->path.size == 0) { |
1378
|
2 |
454 |
if ((diriter->dir = opendir(diriter->path.ptr)) == NULL) { |
1404
|
0 |
1704 |
assert(diriter); |
1409
|
454 |
2158 |
if ((de = readdir(diriter->dir)) == NULL) { |
1410
|
454 |
0 |
if (!errno) |
1417
|
2158 |
0 |
} while (skip_dot && git_path_is_dot_or_dotdot(de->d_name)); |
|
908 |
1250 |
} while (skip_dot && git_path_is_dot_or_dotdot(de->d_name)); |
1430
|
1250 |
0 |
if (diriter->parent_len > 0 && |
|
1250 |
0 |
if (diriter->parent_len > 0 && |
1436
|
0 |
1250 |
if (git_buf_oom(&diriter->path)) |
1447
|
0 |
0 |
assert(out && out_len && diriter); |
|
0 |
0 |
assert(out && out_len && diriter); |
|
0 |
0 |
assert(out && out_len && diriter); |
1449
|
0 |
0 |
assert(diriter->path.size > diriter->parent_len); |
1461
|
1250 |
0 |
assert(out && out_len && diriter); |
|
1250 |
0 |
assert(out && out_len && diriter); |
|
0 |
1250 |
assert(out && out_len && diriter); |
1470
|
1113 |
0 |
assert(out && diriter); |
|
0 |
1113 |
assert(out && diriter); |
1477
|
0 |
456 |
if (diriter == NULL) |
1480
|
454 |
2 |
if (diriter->dir) { |
1506
|
2 |
0 |
assert(contents && path); |
|
0 |
2 |
assert(contents && path); |
1508
|
0 |
2 |
if ((error = git_path_diriter_init(&iter, path, flags)) < 0) |
1511
|
4 |
2 |
while ((error = git_path_diriter_next(&iter)) == 0) { |
1512
|
0 |
4 |
if ((error = git_path_diriter_fullpath(&name, &name_len, &iter)) < 0) |
1515
|
0 |
4 |
assert(name_len > prefix_len); |
1518
|
0 |
4 |
GIT_ERROR_CHECK_ALLOC(dup); |
1520
|
0 |
4 |
if ((error = git_vector_insert(contents, dup)) < 0) |
1524
|
2 |
0 |
if (error == GIT_ITEROVER) |
1533
|
3 |
3 |
if (git_path_is_local_file_url(url_or_path)) |
1548
|
0 |
0 |
size_t last = trailing_num ? 4 : 3; |
1550
|
0 |
0 |
if (len < last || git__strncasecmp(component, dospath, 3) != 0) |
|
0 |
0 |
if (len < last || git__strncasecmp(component, dospath, 3) != 0) |
1553
|
0 |
0 |
if (trailing_num && (component[3] < '1' || component[3] > '9')) |
|
0 |
0 |
if (trailing_num && (component[3] < '1' || component[3] > '9')) |
|
0 |
0 |
if (trailing_num && (component[3] < '1' || component[3] > '9')) |
1556
|
0 |
0 |
return (len > last && |
1557
|
0 |
0 |
component[last] != '.' && |
|
0 |
0 |
component[last] != '.' && |
1563
|
0 |
0 |
while (*len) { |
1566
|
0 |
0 |
if (cp_len < 0) |
1573
|
0 |
0 |
switch (codepoint) { |
1607
|
0 |
0 |
if (next_hfs_char(&path, &len) != '.') |
1610
|
0 |
0 |
for (i = 0; i < needle_len; i++) { |
1612
|
0 |
0 |
if (c != needle[i]) |
1616
|
0 |
0 |
if (next_hfs_char(&path, &len) != '\0') |
1633
|
370 |
165 |
if (repo) |
1636
|
1057 |
522 |
for (i = 0; i < reserved_len; i++) { |
1639
|
836 |
221 |
if (len >= r->size && |
|
13 |
823 |
if (len >= r->size && |
1646
|
522 |
13 |
if (!start) |
1654
|
13 |
0 |
if (path[start] == '\\' || path[start] == ':') |
|
0 |
13 |
if (path[start] == '\\' || path[start] == ':') |
1658
|
13 |
0 |
for (i = start; i < len; i++) { |
1659
|
13 |
0 |
if (path[i] != ' ' && path[i] != '.') |
|
13 |
0 |
if (path[i] != ' ' && path[i] != '.') |
1680
|
0 |
0 |
if (*c == '\0' || *c == ':') |
|
0 |
0 |
if (*c == '\0' || *c == ':') |
1682
|
0 |
0 |
if (*c != ' ' && *c != '.') |
|
0 |
0 |
if (*c != ' ' && *c != '.') |
1693
|
0 |
0 |
if (name[0] == '.' && len >= dotgit_len && |
|
0 |
0 |
if (name[0] == '.' && len >= dotgit_len && |
|
0 |
0 |
if (name[0] == '.' && len >= dotgit_len && |
1699
|
0 |
0 |
if (!strncasecmp(name, dotgit_name, 6) && name[6] == '~' && |
|
0 |
0 |
if (!strncasecmp(name, dotgit_name, 6) && name[6] == '~' && |
|
0 |
0 |
if (!strncasecmp(name, dotgit_name, 6) && name[6] == '~' && |
1700
|
0 |
0 |
name[7] >= '1' && name[7] <= '4') |
1704
|
0 |
0 |
for (i = 0, saw_tilde = 0; i < 8; i++) { |
1705
|
0 |
0 |
if (name[i] == '\0') { |
1707
|
0 |
0 |
} else if (saw_tilde) { |
1708
|
0 |
0 |
if (name[i] < '0' || name[i] > '9') |
|
0 |
0 |
if (name[i] < '0' || name[i] > '9') |
1710
|
0 |
0 |
} else if (name[i] == '~') { |
1711
|
0 |
0 |
if (name[i+1] < '1' || name[i+1] > '9') |
|
0 |
0 |
if (name[i+1] < '1' || name[i+1] > '9') |
1714
|
0 |
0 |
} else if (i >= 6) { |
1716
|
0 |
0 |
} else if ((unsigned char)name[i] > 127) { |
1718
|
0 |
0 |
} else if (git__tolower(name[i]) != shortname_pfix[i]) { |
1728
|
0 |
4919 |
if ((flags & GIT_PATH_REJECT_BACKSLASH) && c == '\\') |
|
0 |
0 |
if ((flags & GIT_PATH_REJECT_BACKSLASH) && c == '\\') |
1731
|
1170 |
3749 |
if ((flags & GIT_PATH_REJECT_SLASH) && c == '/') |
|
1 |
1169 |
if ((flags & GIT_PATH_REJECT_SLASH) && c == '/') |
1734
|
0 |
4918 |
if (flags & GIT_PATH_REJECT_NT_CHARS) { |
1735
|
0 |
0 |
if (c < 32) |
1738
|
0 |
0 |
switch (c) { |
1761
|
0 |
0 |
while (len >0 && tolower(*str) == tolower(*prefix)) { |
|
0 |
0 |
while (len >0 && tolower(*str) == tolower(*prefix)) { |
1787
|
0 |
803 |
if (len == 0) |
1790
|
803 |
0 |
if ((flags & GIT_PATH_REJECT_TRAVERSAL) && |
|
7 |
796 |
if ((flags & GIT_PATH_REJECT_TRAVERSAL) && |
1791
|
0 |
7 |
len == 1 && component[0] == '.') |
1794
|
803 |
0 |
if ((flags & GIT_PATH_REJECT_TRAVERSAL) && |
|
0 |
803 |
if ((flags & GIT_PATH_REJECT_TRAVERSAL) && |
1795
|
0 |
0 |
len == 2 && component[0] == '.' && component[1] == '.') |
|
0 |
0 |
len == 2 && component[0] == '.' && component[1] == '.') |
1798
|
0 |
803 |
if ((flags & GIT_PATH_REJECT_TRAILING_DOT) && component[len-1] == '.') |
|
0 |
0 |
if ((flags & GIT_PATH_REJECT_TRAILING_DOT) && component[len-1] == '.') |
1801
|
0 |
803 |
if ((flags & GIT_PATH_REJECT_TRAILING_SPACE) && component[len-1] == ' ') |
|
0 |
0 |
if ((flags & GIT_PATH_REJECT_TRAILING_SPACE) && component[len-1] == ' ') |
1804
|
0 |
803 |
if ((flags & GIT_PATH_REJECT_TRAILING_COLON) && component[len-1] == ':') |
|
0 |
0 |
if ((flags & GIT_PATH_REJECT_TRAILING_COLON) && component[len-1] == ':') |
1807
|
0 |
803 |
if (flags & GIT_PATH_REJECT_DOS_PATHS) { |
1809
|
0 |
0 |
!verify_dospath(component, len, "PRN", false) || |
1810
|
0 |
0 |
!verify_dospath(component, len, "AUX", false) || |
1811
|
0 |
0 |
!verify_dospath(component, len, "NUL", false) || |
1812
|
0 |
0 |
!verify_dospath(component, len, "COM", true) || |
1817
|
0 |
803 |
if (flags & GIT_PATH_REJECT_DOT_GIT_HFS) { |
1818
|
0 |
0 |
if (!verify_dotgit_hfs(component, len)) |
1820
|
0 |
0 |
if (S_ISLNK(mode) && git_path_is_gitfile(component, len, GIT_PATH_GITFILE_GITMODULES, GIT_PATH_FS_HFS)) |
|
0 |
0 |
if (S_ISLNK(mode) && git_path_is_gitfile(component, len, GIT_PATH_GITFILE_GITMODULES, GIT_PATH_FS_HFS)) |
1824
|
535 |
268 |
if (flags & GIT_PATH_REJECT_DOT_GIT_NTFS) { |
1825
|
0 |
535 |
if (!verify_dotgit_ntfs(repo, component, len)) |
1827
|
0 |
535 |
if (S_ISLNK(mode) && git_path_is_gitfile(component, len, GIT_PATH_GITFILE_GITMODULES, GIT_PATH_FS_NTFS)) |
|
0 |
0 |
if (S_ISLNK(mode) && git_path_is_gitfile(component, len, GIT_PATH_GITFILE_GITMODULES, GIT_PATH_FS_NTFS)) |
1834
|
803 |
0 |
if ((flags & GIT_PATH_REJECT_DOT_GIT_HFS) == 0 && |
|
268 |
535 |
if ((flags & GIT_PATH_REJECT_DOT_GIT_HFS) == 0 && |
1835
|
0 |
268 |
(flags & GIT_PATH_REJECT_DOT_GIT_NTFS) == 0 && |
1837
|
0 |
0 |
if (len >= 4 && |
|
0 |
0 |
if (len >= 4 && |
1838
|
0 |
0 |
component[0] == '.' && |
1839
|
0 |
0 |
(component[1] == 'g' || component[1] == 'G') && |
|
0 |
0 |
(component[1] == 'g' || component[1] == 'G') && |
1840
|
0 |
0 |
(component[2] == 'i' || component[2] == 'I') && |
|
0 |
0 |
(component[2] == 'i' || component[2] == 'I') && |
1841
|
0 |
0 |
(component[3] == 't' || component[3] == 'T')) { |
1842
|
0 |
0 |
if (len == 4) |
1845
|
0 |
0 |
if (S_ISLNK(mode) && common_prefix_icase(component, len, ".gitmodules") == len) |
|
0 |
0 |
if (S_ISLNK(mode) && common_prefix_icase(component, len, ".gitmodules") == len) |
1866
|
351 |
112 |
if (repo && !protectHFS) |
|
351 |
0 |
if (repo && !protectHFS) |
1868
|
463 |
0 |
if (!error && protectHFS) |
|
0 |
463 |
if (!error && protectHFS) |
1871
|
351 |
112 |
if (repo) |
1873
|
463 |
0 |
if (!error && protectNTFS) |
|
463 |
0 |
if (!error && protectNTFS) |
1888
|
463 |
115 |
if ((flags & GIT_PATH_REJECT_DOT_GIT)) |
1891
|
4919 |
577 |
for (start = c = path; *c; c++) { |
1892
|
1 |
4918 |
if (!verify_char(*c, flags)) |
1895
|
226 |
4692 |
if (*c == '/') { |
1896
|
0 |
226 |
if (!verify_component(repo, start, (c - start), mode, flags)) |
1911
|
0 |
0 |
if ((error = git_buf_puts(out, path)) < 0) |
1914
|
0 |
0 |
for (p = out->ptr; *p; p++) { |
1915
|
0 |
0 |
if (*p == '\\') |
1937
|
0 |
0 |
if (!(gitfile >= GIT_PATH_GITFILE_GITIGNORE && gitfile < ARRAY_SIZE(gitfiles))) { |
1968
|
5 |
0 |
p_close(fd) < 0 || |
1969
|
5 |
0 |
p_unlink(path.ptr) < 0 || |
1970
|
5 |
0 |
p_symlink("testing", path.ptr) < 0 || |
1976
|
5 |
0 |
if (path.size) |