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