Archive-Peek-Libarchive
view release on metacpan or search on metacpan
Libarchive.xs view on Meta::CPAN
}
void _close_file(struct archive* a) {
archive_read_close(a);
archive_read_free(a);
}
MODULE = Archive::Peek::Libarchive PACKAGE = Archive::Peek::Libarchive
void _files(const char * filename)
PPCODE:
struct archive *a;
struct archive_entry *entry;
int r;
a = _open_file(filename);
for (;;) {
r = archive_read_next_header(a, &entry);
if (r == ARCHIVE_EOF)
break;
if (r != ARCHIVE_OK)
croak("%s", archive_error_string(a));
if (archive_entry_filetype(entry) == AE_IFREG) {
mXPUSHs(newSVpv(archive_entry_pathname(entry), 0));
}
}
_close_file(a);
void _file(const char * archivename, const char * filename)
PPCODE:
struct archive *a;
struct archive_entry *entry;
int r;
const void *buffer;
size_t size;
off_t offset;
SV* sv;
SV* temp;
a = _open_file(archivename);
( run in 1.129 second using v1.01-cache-2.11-cpan-71847e10f99 )