just include fcntl.h not sys/fcntl.h
[oweals/busybox.git] / archival / ar.c
index de5bc9b845f4adcc8a29967ee8911e1248875539..7782af89ffdafed620e20cb49abf341c0b070b42 100644 (file)
@@ -57,27 +57,20 @@ static void header_verbose_list_ar(const file_header_t *file_header)
 #define AR_OPT_CREATE          0x20
 #define AR_OPT_INSERT          0x40
 
-extern int ar_main(int argc, char **argv)
+int ar_main(int argc, char **argv)
 {
        archive_handle_t *archive_handle;
        unsigned long opt;
-       static const char msg_unsupported_err[] = 
+       static const char msg_unsupported_err[] =
                        "Archive %s not supported.  Install binutils 'ar'.";
        char magic[8];
 
        archive_handle = init_handle();
-       
-       /* Prepend '-' to the first argument if required */
-       if (argv[1][0] != '-')
-               argv[1] = bb_xasprintf("-%s", argv[1]);
 
-       bb_opt_complementally = "?p~tx:t~px:x~pt";
+       /* Prepend '-' to the first argument if required */
+       bb_opt_complementally = "--:p:t:x:-1:?:p--tx:t--px:x--pt";
        opt = bb_getopt_ulflags(argc, argv, "ptxovcr");
 
-       if ((opt == 0) || (optind == argc)) {
-               bb_show_usage();
-       }
-
        if (opt & AR_CTX_PRINT) {
                archive_handle->action_data = data_extract_to_stdout;
        }