5 |
|
|
6 |
#include "libbb.h" |
#include "libbb.h" |
7 |
#include "unarchive.h" |
#include "unarchive.h" |
8 |
|
#include "ar.h" |
9 |
|
|
10 |
void FAST_FUNC unpack_ar_archive(archive_handle_t *ar_archive) |
void FAST_FUNC unpack_ar_archive(archive_handle_t *ar_archive) |
11 |
{ |
{ |
12 |
char magic[7]; |
char magic[7]; |
13 |
|
|
14 |
xread(ar_archive->src_fd, magic, 7); |
xread(ar_archive->src_fd, magic, AR_MAGIC_LEN); |
15 |
if (strncmp(magic, "!<arch>", 7) != 0) { |
if (strncmp(magic, AR_MAGIC, AR_MAGIC_LEN) != 0) { |
16 |
bb_error_msg_and_die("invalid ar magic"); |
bb_error_msg_and_die("invalid ar magic"); |
17 |
} |
} |
18 |
ar_archive->offset += 7; |
ar_archive->offset += AR_MAGIC_LEN; |
19 |
|
|
20 |
while (get_header_ar(ar_archive) == EXIT_SUCCESS) |
while (get_header_ar(ar_archive) == EXIT_SUCCESS) |
21 |
continue; |
continue; |