diff options
Diffstat (limited to 'archival/libunarchive/unarchive.c')
-rw-r--r-- | archival/libunarchive/unarchive.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/archival/libunarchive/unarchive.c b/archival/libunarchive/unarchive.c index ff9b587..41be963 100644 --- a/archival/libunarchive/unarchive.c +++ b/archival/libunarchive/unarchive.c @@ -120,7 +120,8 @@ char *extract_archive(FILE *src_stream, FILE *out_stream, const file_header_t *f return NULL; } archive_offset += file_entry->size; - copy_file_chunk(src_stream, dst_stream, file_entry->size); + if (file_entry->extract_func) file_entry->extract_func(src_stream, dst_stream); + else copy_file_chunk(src_stream, dst_stream, file_entry->size); fclose(dst_stream); } break; |