--- trunk/mkinitrd-magellan/busybox/archival/ar.c 2010/04/29 20:38:48 983 +++ trunk/mkinitrd-magellan/busybox/archival/ar.c 2010/05/30 11:32:42 984 @@ -38,7 +38,7 @@ #define AR_OPT_INSERT 0x40 int ar_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -int ar_main(int argc, char **argv) +int ar_main(int argc UNUSED_PARAM, char **argv) { static const char msg_unsupported_err[] ALIGN1 = "archive %s is not supported"; @@ -51,6 +51,7 @@ /* Prepend '-' to the first argument if required */ opt_complementary = "--:p:t:x:-1:p--tx:t--px:x--pt"; opt = getopt32(argv, "ptxovcr"); + argv += optind; if (opt & AR_CTX_PRINT) { archive_handle->action_data = data_extract_to_stdout; @@ -62,7 +63,7 @@ archive_handle->action_data = data_extract_all; } if (opt & AR_OPT_PRESERVE_DATE) { - archive_handle->ah_flags |= ARCHIVE_PRESERVE_DATE; + archive_handle->ah_flags |= ARCHIVE_RESTORE_DATE; } if (opt & AR_OPT_VERBOSE) { archive_handle->action_header = header_verbose_list_ar; @@ -74,11 +75,11 @@ bb_error_msg_and_die(msg_unsupported_err, "insertion"); } - archive_handle->src_fd = xopen(argv[optind++], O_RDONLY); + archive_handle->src_fd = xopen(*argv++, O_RDONLY); - while (optind < argc) { + while (*argv) { archive_handle->filter = filter_accept_list; - llist_add_to(&(archive_handle->accept), argv[optind++]); + llist_add_to(&archive_handle->accept, *argv++); } unpack_ar_archive(archive_handle);