| line |
true |
false |
branch |
|
35
|
0 |
6670 |
PUSHMARK(SP); |
|
36
|
0 |
6670 |
XPUSHs(cache); |
|
37
|
0 |
6670 |
XPUSHs(sv_2mortal(newSViv(uid))); |
|
38
|
0 |
6670 |
XPUSHs(sv_2mortal(newSViv(gid))); |
|
41
|
0 |
6670 |
if ((retc = call_method("lookup", G_ARRAY)) < 2) { |
|
47
|
6670 |
0 |
if (retc == 2) { |
|
52
|
6670 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
6670 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
53
|
6670 |
0 |
tmp = SvPV(item, len); |
|
55
|
0 |
6670 |
if ((*group = b_string_new_len(tmp, len)) == NULL) { |
|
60
|
6670 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
6670 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
61
|
6670 |
0 |
tmp = SvPV(item, len); |
|
63
|
0 |
6670 |
if ((*user = b_string_new_len(tmp, len)) == NULL) { |
|
71
|
6670 |
0 |
FREETMPS; |
|
84
|
0 |
0 |
FREETMPS; |
|
104
|
0 |
6 |
PUSHMARK(SP); |
|
105
|
0 |
6 |
XPUSHs(cache); |
|
106
|
0 |
6 |
XPUSHs(sv_2mortal(newSViv(dev))); |
|
107
|
0 |
6 |
XPUSHs(sv_2mortal(newSViv(ino))); |
|
108
|
0 |
6 |
XPUSHs(sv_2mortal(newSVpv(path->str, path->len))); |
|
113
|
3 |
3 |
if ((retc = call_method("lookup", G_ARRAY)) != 1) { |
|
119
|
3 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
3 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
120
|
3 |
0 |
tmp = SvPV(item, len); |
|
122
|
0 |
3 |
if ((path = b_string_new_len(tmp, len)) == NULL) { |
|
130
|
6 |
0 |
FREETMPS; |
|
137
|
0 |
0 |
if (err == NULL) return; |
|
145
|
0 |
6587 |
if (options & B_BUILDER_FOLLOW_SYMLINKS) { |
|
149
|
0 |
6587 |
if (options & B_BUILDER_IGNORE_SOCKETS) { |
|
170
|
0 |
91 |
if ((items - 1) % 2 != 0) { |
|
174
|
83 |
91 |
for (i=1; i
|
|
175
|
83 |
0 |
char *key = SvPV_nolen(ST(i)); |
|
178
|
26 |
57 |
if (strcmp(key, "quiet") == 0 && SvIV(value)) options |= B_BUILDER_QUIET; |
|
|
26 |
0 |
if (strcmp(key, "quiet") == 0 && SvIV(value)) options |= B_BUILDER_QUIET; |
|
|
26 |
0 |
if (strcmp(key, "quiet") == 0 && SvIV(value)) options |= B_BUILDER_QUIET; |
|
179
|
0 |
83 |
if (strcmp(key, "ignore_errors") == 0 && SvIV(value)) options |= B_BUILDER_IGNORE_ERRORS; |
|
|
0 |
0 |
if (strcmp(key, "ignore_errors") == 0 && SvIV(value)) options |= B_BUILDER_IGNORE_ERRORS; |
|
|
0 |
0 |
if (strcmp(key, "ignore_errors") == 0 && SvIV(value)) options |= B_BUILDER_IGNORE_ERRORS; |
|
180
|
0 |
83 |
if (strcmp(key, "follow_symlinks") == 0 && SvIV(value)) options |= B_BUILDER_FOLLOW_SYMLINKS; |
|
|
0 |
0 |
if (strcmp(key, "follow_symlinks") == 0 && SvIV(value)) options |= B_BUILDER_FOLLOW_SYMLINKS; |
|
|
0 |
0 |
if (strcmp(key, "follow_symlinks") == 0 && SvIV(value)) options |= B_BUILDER_FOLLOW_SYMLINKS; |
|
181
|
9 |
74 |
if (strcmp(key, "preserve_hardlinks") == 0 && SvIV(value)) options |= B_BUILDER_PRESERVE_HARDLINKS; |
|
|
9 |
0 |
if (strcmp(key, "preserve_hardlinks") == 0 && SvIV(value)) options |= B_BUILDER_PRESERVE_HARDLINKS; |
|
|
9 |
0 |
if (strcmp(key, "preserve_hardlinks") == 0 && SvIV(value)) options |= B_BUILDER_PRESERVE_HARDLINKS; |
|
182
|
34 |
49 |
if (strcmp(key, "gnu_extensions") == 0 && SvIV(value)) options |= B_BUILDER_GNU_EXTENSIONS; |
|
|
34 |
0 |
if (strcmp(key, "gnu_extensions") == 0 && SvIV(value)) options |= B_BUILDER_GNU_EXTENSIONS; |
|
|
34 |
0 |
if (strcmp(key, "gnu_extensions") == 0 && SvIV(value)) options |= B_BUILDER_GNU_EXTENSIONS; |
|
183
|
14 |
69 |
if (strcmp(key, "posix_extensions") == 0 && SvIV(value)) options |= B_BUILDER_PAX_EXTENSIONS; |
|
|
14 |
0 |
if (strcmp(key, "posix_extensions") == 0 && SvIV(value)) options |= B_BUILDER_PAX_EXTENSIONS; |
|
|
14 |
0 |
if (strcmp(key, "posix_extensions") == 0 && SvIV(value)) options |= B_BUILDER_PAX_EXTENSIONS; |
|
184
|
0 |
83 |
if (strcmp(key, "ignore_sockets") == 0 && SvIV(value)) options |= B_BUILDER_IGNORE_SOCKETS; |
|
|
0 |
0 |
if (strcmp(key, "ignore_sockets") == 0 && SvIV(value)) options |= B_BUILDER_IGNORE_SOCKETS; |
|
|
0 |
0 |
if (strcmp(key, "ignore_sockets") == 0 && SvIV(value)) options |= B_BUILDER_IGNORE_SOCKETS; |
|
185
|
0 |
83 |
if (strcmp(key, "block_factor") == 0 && SvIV(value)) block_factor = SvIV(value); |
|
|
0 |
0 |
if (strcmp(key, "block_factor") == 0 && SvIV(value)) block_factor = SvIV(value); |
|
|
0 |
0 |
if (strcmp(key, "block_factor") == 0 && SvIV(value)) block_factor = SvIV(value); |
|
|
0 |
0 |
if (strcmp(key, "block_factor") == 0 && SvIV(value)) block_factor = SvIV(value); |
|
188
|
0 |
91 |
if ((builder = b_builder_new(block_factor)) == NULL) { |
|
196
|
65 |
26 |
if (!(options & B_BUILDER_QUIET)) { |
|
203
|
0 |
91 |
PUSHMARK(SP); |
|
204
|
0 |
91 |
XPUSHs(sv_2mortal(newSVpvf("Archive::Tar::Builder::UserCache"))); |
|
207
|
91 |
0 |
if ((retc = call_method("new", G_SCALAR)) >= 1) { |
|
216
|
9 |
82 |
if (builder->options & B_BUILDER_PRESERVE_HARDLINKS) { |
|
220
|
0 |
9 |
PUSHMARK(SP); |
|
221
|
0 |
9 |
XPUSHs(sv_2mortal(newSVpvf("Archive::Tar::Builder::HardlinkCache"))); |
|
224
|
9 |
0 |
if ((retc = call_method("new", G_SCALAR)) == 1) { |
|
252
|
0 |
14 |
if (b_builder_include(builder, pattern) < 0) { |
|
262
|
7 |
14 |
if (b_builder_include_from_file(builder, file) < 0) { |
|
272
|
0 |
14 |
if (b_builder_exclude(builder, pattern) < 0) { |
|
282
|
7 |
14 |
if (b_builder_exclude_from_file(builder, file) < 0) { |
|
317
|
0 |
6601 |
if ((items - 1) % 2 != 0) { |
|
321
|
14 |
6587 |
if (b_buffer_get_fd(buf) == 0) { |
|
325
|
6587 |
6579 |
for (i=1; i
|
|
328
|
6587 |
0 |
b_string *path = b_string_new(SvPV_nolen(ST(i))); |
|
329
|
6587 |
0 |
b_string *member_name = b_string_new(SvPV_nolen(ST(i+1))); |
|
331
|
8 |
6579 |
if (b_find(builder, path, member_name, B_FIND_CALLBACK(b_builder_write_file), flags) < 0) { |
|
335
|
0 |
8 |
if (error_path == NULL) { |
|
357
|
0 |
0 |
if (b_buffer_get_fd(buf) == 0) { |
|
361
|
0 |
0 |
if ((ret = b_buffer_flush(buf)) < 0) { |
|
382
|
0 |
27 |
if (b_buffer_get_fd(buf) == 0) { |
|
386
|
0 |
27 |
if ((ret = b_buffer_flush(buf)) < 0) { |
|
390
|
0 |
27 |
if (b_error_warn(err) && !(options & B_BUILDER_IGNORE_ERRORS)) { |
|
|
0 |
0 |
if (b_error_warn(err) && !(options & B_BUILDER_IGNORE_ERRORS)) { |