line |
true |
false |
branch |
75
|
2 |
0 |
if(ar->opt_chown) |
77
|
2 |
0 |
if(ar->opt_same_perms) |
86
|
80 |
0 |
if(entry->data != NULL) |
95
|
4 |
106 |
if(ar->error != NULL) |
97
|
4 |
106 |
if(ar->longmess != NULL) |
104
|
76 |
110 |
while(entry != NULL) |
124
|
87 |
3 |
while(entry != NULL) |
126
|
47 |
40 |
if(!strcmp(archive_entry_pathname(entry->entry), filename)) |
140
|
0 |
3 |
if(r != ARCHIVE_OK) |
142
|
0 |
0 |
_error(ar,archive_error_string(disk)); |
|
0 |
0 |
_error(ar,archive_error_string(disk)); |
|
0 |
0 |
_error(ar,archive_error_string(disk)); |
144
|
3 |
0 |
else if(archive_entry_size(entry->entry) > 0) |
147
|
0 |
3 |
if(r != ARCHIVE_OK) |
148
|
0 |
0 |
_error(ar, archive_error_string(disk)); |
|
0 |
0 |
_error(ar, archive_error_string(disk)); |
|
0 |
0 |
_error(ar, archive_error_string(disk)); |
149
|
0 |
3 |
if(r < ARCHIVE_WARN) |
154
|
0 |
3 |
if(r != ARCHIVE_OK) |
155
|
0 |
0 |
_error(ar, archive_error_string(disk)); |
|
0 |
0 |
_error(ar, archive_error_string(disk)); |
|
0 |
0 |
_error(ar, archive_error_string(disk)); |
157
|
0 |
3 |
if(r < ARCHIVE_WARN) |
175
|
0 |
30 |
PUSHMARK(SP); |
176
|
0 |
30 |
XPUSHs(sv_2mortal(newSViv(PTR2IV((void*)archive)))); |
185
|
30 |
0 |
if(status == ARCHIVE_OK) |
187
|
30 |
0 |
*buffer = (void*) SvPV(sv_buffer, len); |
191
|
30 |
0 |
FREETMPS; |
194
|
30 |
0 |
if(status == ARCHIVE_OK) |
195
|
30 |
0 |
return len == 1 ? 0 : len; |
210
|
0 |
9 |
PUSHMARK(SP); |
211
|
0 |
9 |
XPUSHs(sv_2mortal(newSViv(PTR2IV((void*)archive)))); |
212
|
0 |
9 |
XPUSHs(sv_2mortal(newSVpvn(buffer, length))); |
222
|
9 |
0 |
FREETMPS; |
241
|
3 |
9 |
if(ar->opt_type == ARCHIVE_AR_GNU) |
246
|
7 |
3 |
for(entry = ar->first; entry != NULL; entry = entry->next) |
248
|
1 |
6 |
if(entry->is_symbol_table) |
251
|
3 |
3 |
if(len > 15) |
258
|
3 |
0 |
if(size > 0) |
268
|
0 |
3 |
if(r < ARCHIVE_OK) |
270
|
0 |
0 |
_error(ar, archive_error_string(archive)); |
|
0 |
0 |
_error(ar, archive_error_string(archive)); |
|
0 |
0 |
_error(ar, archive_error_string(archive)); |
271
|
0 |
0 |
if(r != ARCHIVE_WARN) |
279
|
7 |
3 |
for(entry = ar->first; entry != NULL; entry = entry->next) |
286
|
3 |
4 |
if(len > 15) |
298
|
0 |
3 |
if(r < ARCHIVE_OK) |
300
|
0 |
0 |
_error(ar, archive_error_string(archive)); |
|
0 |
0 |
_error(ar, archive_error_string(archive)); |
|
0 |
0 |
_error(ar, archive_error_string(archive)); |
301
|
0 |
0 |
if(r != ARCHIVE_WARN) |
302
|
3 |
0 |
return 0; |
308
|
23 |
12 |
for(entry = ar->first; entry != NULL; entry = entry->next) |
312
|
1 |
22 |
if(entry->is_symbol_table) |
318
|
6 |
17 |
if(ar->opt_type == ARCHIVE_AR_COMMON) |
322
|
1 |
5 |
if(len > 15) |
332
|
21 |
2 |
r = archive_write_header(archive, short_entry != NULL ? short_entry : entry->entry); |
333
|
0 |
23 |
if(r < ARCHIVE_OK) |
335
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
336
|
0 |
0 |
if(r != ARCHIVE_WARN) |
340
|
0 |
23 |
if(r < ARCHIVE_OK) |
342
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
343
|
0 |
0 |
if(r != ARCHIVE_WARN) |
347
|
2 |
21 |
if(short_entry != NULL) |
384
|
25 |
63 |
if(r == ARCHIVE_OK || r == ARCHIVE_WARN) |
|
0 |
25 |
if(r == ARCHIVE_OK || r == ARCHIVE_WARN) |
389
|
4 |
59 |
if(!strcmp(name, "//")) |
395
|
2 |
57 |
if(!strcmp(name, "/")) |
397
|
1 |
1 |
if(ar->opt_symbols == NULL) |
399
|
1 |
0 |
archive_entry_copy_pathname(entry, SvPV_nolen(ar->opt_symbols)); |
405
|
49 |
9 |
if(ar->opt_type == ARCHIVE_AR_COMMON) |
407
|
1 |
48 |
switch(archive_format(archive)) |
414
|
0 |
58 |
if(r == ARCHIVE_WARN) |
416
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
419
|
25 |
0 |
else if(r == ARCHIVE_EOF) |
430
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
442
|
0 |
58 |
if(r == ARCHIVE_WARN) |
444
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
446
|
0 |
58 |
else if(r < ARCHIVE_OK && r != ARCHIVE_EOF) |
|
0 |
0 |
else if(r < ARCHIVE_OK && r != ARCHIVE_EOF) |
449
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
|
0 |
0 |
_error(ar,archive_error_string(archive)); |
458
|
25 |
33 |
if(ar->first == NULL) |
469
|
0 |
25 |
PERL_MATH_INT64_LOAD_OR_CROAK; |
496
|
3 |
3 |
if(!strcmp(name, "warn")) |
497
|
3 |
0 |
RETVAL = self->opt_warn = SvIV(value); |
498
|
0 |
3 |
else if(!strcmp(name, "chmod")) |
499
|
0 |
0 |
RETVAL = self->opt_chmod = SvIV(value); |
500
|
0 |
3 |
else if(!strcmp(name, "same_perms")) |
501
|
0 |
0 |
RETVAL = self->opt_same_perms = SvIV(value); |
502
|
0 |
3 |
else if(!strcmp(name, "chown")) |
503
|
0 |
0 |
RETVAL = self->opt_chown = SvIV(value); |
504
|
2 |
1 |
else if(!strcmp(name, "type")) |
505
|
2 |
0 |
RETVAL = self->opt_type = SvIV(value); |
506
|
1 |
0 |
else if(!strcmp(name, "symbols")) |
518
|
7 |
1 |
if(!strcmp(name, "warn")) |
520
|
0 |
1 |
else if(!strcmp(name, "chmod")) |
522
|
0 |
1 |
else if(!strcmp(name, "same_perms")) |
524
|
0 |
1 |
else if(!strcmp(name, "chown")) |
526
|
1 |
0 |
else if(!strcmp(name, "type")) |
528
|
1 |
0 |
if(self->opt_type == ARCHIVE_AR_UNDEF) |
544
|
0 |
4 |
if(self->error != NULL) |
546
|
0 |
4 |
if(self->longmess != NULL) |
555
|
1 |
4 |
if(self->error == NULL) |
557
|
3 |
1 |
if(items >= 2 && SvTRUE(ST(1))) |
|
3 |
0 |
if(items >= 2 && SvTRUE(ST(1))) |
|
0 |
3 |
if(items >= 2 && SvTRUE(ST(1))) |
|
0 |
0 |
if(items >= 2 && SvTRUE(ST(1))) |
|
0 |
3 |
if(items >= 2 && SvTRUE(ST(1))) |
|
0 |
0 |
if(items >= 2 && SvTRUE(ST(1))) |
|
0 |
0 |
if(items >= 2 && SvTRUE(ST(1))) |
|
0 |
3 |
if(items >= 2 && SvTRUE(ST(1))) |
|
0 |
0 |
if(items >= 2 && SvTRUE(ST(1))) |
|
0 |
0 |
if(items >= 2 && SvTRUE(ST(1))) |
|
0 |
0 |
if(items >= 2 && SvTRUE(ST(1))) |
|
0 |
0 |
if(items >= 2 && SvTRUE(ST(1))) |
|
0 |
0 |
if(items >= 2 && SvTRUE(ST(1))) |
|
3 |
0 |
if(items >= 2 && SvTRUE(ST(1))) |
|
3 |
0 |
if(items >= 2 && SvTRUE(ST(1))) |
|
1 |
2 |
if(items >= 2 && SvTRUE(ST(1))) |
|
0 |
1 |
if(items >= 2 && SvTRUE(ST(1))) |
|
0 |
0 |
if(items >= 2 && SvTRUE(ST(1))) |
|
2 |
1 |
if(items >= 2 && SvTRUE(ST(1))) |
|
0 |
0 |
if(items >= 2 && SvTRUE(ST(1))) |
577
|
0 |
10 |
if(r == ARCHIVE_OK || r == ARCHIVE_WARN) |
|
0 |
0 |
if(r == ARCHIVE_OK || r == ARCHIVE_WARN) |
579
|
0 |
10 |
if(r == ARCHIVE_WARN) |
580
|
0 |
0 |
_error(self, archive_error_string(archive)); |
|
0 |
0 |
_error(self, archive_error_string(archive)); |
|
0 |
0 |
_error(self, archive_error_string(archive)); |
585
|
0 |
0 |
_error(self,archive_error_string(archive)); |
|
0 |
0 |
_error(self,archive_error_string(archive)); |
|
0 |
0 |
_error(self,archive_error_string(archive)); |
611
|
0 |
15 |
if(r == ARCHIVE_OK || r == ARCHIVE_WARN) |
|
0 |
0 |
if(r == ARCHIVE_OK || r == ARCHIVE_WARN) |
613
|
0 |
15 |
if(r == ARCHIVE_WARN) |
614
|
0 |
0 |
_error(self,archive_error_string(archive)); |
|
0 |
0 |
_error(self,archive_error_string(archive)); |
|
0 |
0 |
_error(self,archive_error_string(archive)); |
619
|
0 |
0 |
_error(self,archive_error_string(archive)); |
|
0 |
0 |
_error(self,archive_error_string(archive)); |
|
0 |
0 |
_error(self,archive_error_string(archive)); |
641
|
1 |
2 |
if(self->opt_type == ARCHIVE_AR_BSD) |
645
|
0 |
3 |
if(r != ARCHIVE_OK) |
646
|
0 |
0 |
_error(self,archive_error_string(archive)); |
|
0 |
0 |
_error(self,archive_error_string(archive)); |
|
0 |
0 |
_error(self,archive_error_string(archive)); |
648
|
0 |
3 |
if(r != ARCHIVE_OK) |
649
|
0 |
0 |
_error(self,archive_error_string(archive)); |
|
0 |
0 |
_error(self,archive_error_string(archive)); |
|
0 |
0 |
_error(self,archive_error_string(archive)); |
650
|
0 |
3 |
if(r == ARCHIVE_OK || r == ARCHIVE_WARN) |
|
0 |
0 |
if(r == ARCHIVE_OK || r == ARCHIVE_WARN) |
669
|
1 |
8 |
if(self->opt_type == ARCHIVE_AR_BSD) |
673
|
0 |
9 |
if(r != ARCHIVE_OK) |
674
|
0 |
0 |
_error(self,archive_error_string(archive)); |
|
0 |
0 |
_error(self,archive_error_string(archive)); |
|
0 |
0 |
_error(self,archive_error_string(archive)); |
677
|
0 |
9 |
if(r != ARCHIVE_OK) |
678
|
0 |
0 |
_error(self,archive_error_string(archive)); |
|
0 |
0 |
_error(self,archive_error_string(archive)); |
|
0 |
0 |
_error(self,archive_error_string(archive)); |
679
|
0 |
9 |
if(r == ARCHIVE_OK || r == ARCHIVE_WARN) |
|
0 |
0 |
if(r == ARCHIVE_OK || r == ARCHIVE_WARN) |
701
|
4 |
2 |
if(!strcmp(archive_entry_pathname((*entry)->entry),pathname)) |
709
|
0 |
2 |
if((*entry)->next == NULL) |
733
|
16 |
22 |
while(*entry != NULL) |
749
|
0 |
22 |
if(self->opt_symbols != NULL && !strcmp(SvPV_nolen(self->opt_symbols), filename)) |
|
0 |
0 |
if(self->opt_symbols != NULL && !strcmp(SvPV_nolen(self->opt_symbols), filename)) |
|
0 |
0 |
if(self->opt_symbols != NULL && !strcmp(SvPV_nolen(self->opt_symbols), filename)) |
752
|
22 |
0 |
buffer = SvPV(data, (*entry)->data_size); |
769
|
51 |
22 |
for(entry = self->first; entry != NULL; entry = entry->next) |
797
|
31 |
2 |
if(entry != NULL) |
827
|
0 |
6 |
if(entry == NULL) |
842
|
3 |
0 |
if(entry != NULL) |
859
|
2 |
1 |
while(entry != NULL) |
861
|
0 |
2 |
if(ar_entry_extract(self, entry, disk) == 0) |
872
|
1 |
0 |
if(ok) |
890
|
0 |
1 |
if(entry == NULL) |
902
|
1 |
0 |
if(ok) |
925
|
3 |
1 |
if(ar_find_by_name(self, filename)) |
948
|
1 |
0 |
if(entry != NULL) |
970
|
2 |
0 |
if(entry != NULL) |
972
|
2 |
0 |
if(uid >= 0) |
974
|
1 |
1 |
if(SvOK(gid) && SvIV(gid) >= 0) |
|
1 |
0 |
if(SvOK(gid) && SvIV(gid) >= 0) |
|
0 |
1 |
if(SvOK(gid) && SvIV(gid) >= 0) |
|
1 |
0 |
if(SvOK(gid) && SvIV(gid) >= 0) |
|
1 |
0 |
if(SvOK(gid) && SvIV(gid) >= 0) |
976
|
1 |
0 |
archive_entry_set_gid(entry->entry, SvIV(gid)); |