| line |
true |
false |
branch |
|
35
|
0 |
7069 |
PUSHMARK(SP); |
|
36
|
0 |
7069 |
XPUSHs(cache); |
|
37
|
0 |
7069 |
XPUSHs(sv_2mortal(newSViv(uid))); |
|
38
|
0 |
7069 |
XPUSHs(sv_2mortal(newSViv(gid))); |
|
45
|
0 |
7069 |
if (retc < 2) { |
|
49
|
7069 |
0 |
if (retc == 2) { |
|
54
|
7069 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
7069 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
55
|
7069 |
0 |
tmp = SvPV(item, len); |
|
57
|
0 |
7069 |
if ((*group = b_string_new_len(tmp, len)) == NULL) { |
|
62
|
7069 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
7069 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
63
|
7069 |
0 |
tmp = SvPV(item, len); |
|
65
|
0 |
7069 |
if ((*user = b_string_new_len(tmp, len)) == NULL) { |
|
73
|
7069 |
0 |
FREETMPS; |
|
86
|
0 |
0 |
FREETMPS; |
|
106
|
0 |
404 |
PUSHMARK(SP); |
|
107
|
0 |
404 |
XPUSHs(cache); |
|
108
|
0 |
404 |
XPUSHs(sv_2mortal(newSViv(dev))); |
|
109
|
0 |
404 |
XPUSHs(sv_2mortal(newSViv(ino))); |
|
110
|
0 |
404 |
XPUSHs(sv_2mortal(newSVpv(path->str, path->len))); |
|
118
|
202 |
202 |
if (retc != 1) { |
|
122
|
202 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
202 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
|
0 |
0 |
if ((item = POPs) != NULL && SvOK(item)) { |
|
123
|
202 |
0 |
tmp = SvPV(item, len); |
|
125
|
0 |
202 |
if ((path = b_string_new_len(tmp, len)) == NULL) { |
|
133
|
404 |
0 |
FREETMPS; |
|
140
|
0 |
0 |
if (err == NULL) return; |
|
148
|
0 |
6588 |
if (options & B_BUILDER_FOLLOW_SYMLINKS) { |
|
152
|
1 |
6587 |
if (options & B_BUILDER_IGNORE_SOCKETS) { |
|
173
|
0 |
92 |
if ((items - 1) % 2 != 0) { |
|
177
|
86 |
92 |
for (i=1; i
|
|
178
|
86 |
0 |
char *key = SvPV_nolen(ST(i)); |
|
181
|
26 |
60 |
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; |
|
182
|
0 |
86 |
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; |
|
183
|
0 |
86 |
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; |
|
184
|
10 |
76 |
if (strcmp(key, "preserve_hardlinks") == 0 && SvIV(value)) options |= B_BUILDER_PRESERVE_HARDLINKS; |
|
|
10 |
0 |
if (strcmp(key, "preserve_hardlinks") == 0 && SvIV(value)) options |= B_BUILDER_PRESERVE_HARDLINKS; |
|
|
10 |
0 |
if (strcmp(key, "preserve_hardlinks") == 0 && SvIV(value)) options |= B_BUILDER_PRESERVE_HARDLINKS; |
|
185
|
35 |
51 |
if (strcmp(key, "gnu_extensions") == 0 && SvIV(value)) options |= B_BUILDER_GNU_EXTENSIONS; |
|
|
35 |
0 |
if (strcmp(key, "gnu_extensions") == 0 && SvIV(value)) options |= B_BUILDER_GNU_EXTENSIONS; |
|
|
35 |
0 |
if (strcmp(key, "gnu_extensions") == 0 && SvIV(value)) options |= B_BUILDER_GNU_EXTENSIONS; |
|
186
|
14 |
72 |
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; |
|
187
|
1 |
85 |
if (strcmp(key, "ignore_sockets") == 0 && SvIV(value)) options |= B_BUILDER_IGNORE_SOCKETS; |
|
|
1 |
0 |
if (strcmp(key, "ignore_sockets") == 0 && SvIV(value)) options |= B_BUILDER_IGNORE_SOCKETS; |
|
|
1 |
0 |
if (strcmp(key, "ignore_sockets") == 0 && SvIV(value)) options |= B_BUILDER_IGNORE_SOCKETS; |
|
188
|
0 |
86 |
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); |
|
191
|
0 |
92 |
if ((builder = b_builder_new(block_factor)) == NULL) { |
|
199
|
66 |
26 |
if (!(options & B_BUILDER_QUIET)) { |
|
209
|
0 |
92 |
PUSHMARK(SP); |
|
210
|
0 |
92 |
XPUSHs(sv_2mortal(newSVpvf("Archive::Tar::Builder::UserCache"))); |
|
217
|
92 |
0 |
if (retc == 1) { |
|
223
|
92 |
0 |
FREETMPS; |
|
228
|
10 |
82 |
if (builder->options & B_BUILDER_PRESERVE_HARDLINKS) { |
|
235
|
0 |
10 |
PUSHMARK(SP); |
|
236
|
0 |
10 |
XPUSHs(sv_2mortal(newSVpvf("Archive::Tar::Builder::HardlinkCache"))); |
|
243
|
10 |
0 |
if (retc == 1) { |
|
249
|
10 |
0 |
FREETMPS; |
|
273
|
0 |
14 |
if (b_builder_include(builder, pattern) < 0) { |
|
283
|
7 |
14 |
if (b_builder_include_from_file(builder, file) < 0) { |
|
293
|
0 |
14 |
if (b_builder_exclude(builder, pattern) < 0) { |
|
303
|
7 |
14 |
if (b_builder_exclude_from_file(builder, file) < 0) { |
|
338
|
0 |
6602 |
if ((items - 1) % 2 != 0) { |
|
342
|
14 |
6588 |
if (b_buffer_get_fd(buf) == 0) { |
|
346
|
6588 |
6580 |
for (i=1; i
|
|
349
|
6588 |
0 |
b_string *path = b_string_new(SvPV_nolen(ST(i))); |
|
350
|
6588 |
0 |
b_string *member_name = b_string_new(SvPV_nolen(ST(i+1))); |
|
352
|
8 |
6580 |
if (b_find(builder, path, member_name, B_FIND_CALLBACK(b_builder_write_file), flags) < 0) { |
|
356
|
0 |
8 |
if (error_path == NULL) { |
|
378
|
0 |
0 |
if (b_buffer_get_fd(buf) == 0) { |
|
382
|
0 |
0 |
if ((ret = b_buffer_flush(buf)) < 0) { |
|
403
|
0 |
27 |
if (b_buffer_get_fd(buf) == 0) { |
|
407
|
0 |
27 |
if ((ret = b_buffer_flush(buf)) < 0) { |
|
411
|
0 |
27 |
if (b_error_warn(err) && !(options & B_BUILDER_IGNORE_ERRORS)) { |
|
|
0 |
0 |
if (b_error_warn(err) && !(options & B_BUILDER_IGNORE_ERRORS)) { |