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)) { |