projects
/
oweals
/
busybox.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tar: support for tar --numeric-owner. By Natanael Copa.
[oweals/busybox.git]
/
archival
/
ar.c
diff --git
a/archival/ar.c
b/archival/ar.c
index cbe4d8e0e4ab8535e897abad2e573cce5dd37953..dbff6775e0d2aec29c87879e5876103b2d4e3853 100644
(file)
--- a/
archival/ar.c
+++ b/
archival/ar.c
@@
-16,7
+16,7
@@
#include "libbb.h"
#include "unarchive.h"
#include "libbb.h"
#include "unarchive.h"
-static void header_verbose_list_ar(const file_header_t *file_header)
+static void
FAST_FUNC
header_verbose_list_ar(const file_header_t *file_header)
{
const char *mode = bb_mode_string(file_header->mode);
char *mtime;
{
const char *mode = bb_mode_string(file_header->mode);
char *mtime;
@@
-37,7
+37,7
@@
static void header_verbose_list_ar(const file_header_t *file_header)
#define AR_OPT_CREATE 0x20
#define AR_OPT_INSERT 0x40
#define AR_OPT_CREATE 0x20
#define AR_OPT_INSERT 0x40
-int ar_main(int argc, char **argv);
+int ar_main(int argc, char **argv)
MAIN_EXTERNALLY_VISIBLE
;
int ar_main(int argc, char **argv)
{
static const char msg_unsupported_err[] ALIGN1 =
int ar_main(int argc, char **argv)
{
static const char msg_unsupported_err[] ALIGN1 =
@@
-45,7
+45,6
@@
int ar_main(int argc, char **argv)
archive_handle_t *archive_handle;
unsigned opt;
archive_handle_t *archive_handle;
unsigned opt;
- char magic[8];
archive_handle = init_handle();
archive_handle = init_handle();
@@
-63,7
+62,7
@@
int ar_main(int argc, char **argv)
archive_handle->action_data = data_extract_all;
}
if (opt & AR_OPT_PRESERVE_DATE) {
archive_handle->action_data = data_extract_all;
}
if (opt & AR_OPT_PRESERVE_DATE) {
- archive_handle->flags |= ARCHIVE_PRESERVE_DATE;
+ archive_handle->
ah_
flags |= ARCHIVE_PRESERVE_DATE;
}
if (opt & AR_OPT_VERBOSE) {
archive_handle->action_header = header_verbose_list_ar;
}
if (opt & AR_OPT_VERBOSE) {
archive_handle->action_header = header_verbose_list_ar;
@@
-82,14
+81,7
@@
int ar_main(int argc, char **argv)
llist_add_to(&(archive_handle->accept), argv[optind++]);
}
llist_add_to(&(archive_handle->accept), argv[optind++]);
}
- xread(archive_handle->src_fd, magic, 7);
- if (strncmp(magic, "!<arch>", 7) != 0) {
- bb_error_msg_and_die("invalid ar magic");
- }
- archive_handle->offset += 7;
-
- while (get_header_ar(archive_handle) == EXIT_SUCCESS)
- continue;
+ unpack_ar_archive(archive_handle);
return EXIT_SUCCESS;
}
return EXIT_SUCCESS;
}