diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-06-26 01:55:45 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-06-26 01:55:45 +0200 |
commit | d30b89c7eee19f395af0335b66822989c770437e (patch) | |
tree | 0695091ac035d39d6ba57e316474126fe8872347 /archival | |
parent | 2f86ca135069e457bb16ab9e062a10e0775717a6 (diff) | |
download | busybox-w32-d30b89c7eee19f395af0335b66822989c770437e.tar.gz busybox-w32-d30b89c7eee19f395af0335b66822989c770437e.tar.bz2 busybox-w32-d30b89c7eee19f395af0335b66822989c770437e.zip |
updates for supporting Linux kernel build and initrd utilities
cpio: --verbose, --quiet, --to-stdout
test: make 64-bit math enable-able for hush too
dnsdomainname: alias to hostname -d
hostname: support --fqdn, --domain, --file
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'archival')
-rw-r--r-- | archival/cpio.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/archival/cpio.c b/archival/cpio.c index a6484e5c0..5b4135f66 100644 --- a/archival/cpio.c +++ b/archival/cpio.c | |||
@@ -88,9 +88,17 @@ enum { | |||
88 | CPIO_OPT_PRESERVE_MTIME = (1 << 6), | 88 | CPIO_OPT_PRESERVE_MTIME = (1 << 6), |
89 | CPIO_OPT_DEREF = (1 << 7), | 89 | CPIO_OPT_DEREF = (1 << 7), |
90 | CPIO_OPT_FILE = (1 << 8), | 90 | CPIO_OPT_FILE = (1 << 8), |
91 | CPIO_OPT_CREATE = (1 << 9) * ENABLE_FEATURE_CPIO_O, | 91 | OPTBIT_FILE = 8, |
92 | CPIO_OPT_FORMAT = (1 << 10) * ENABLE_FEATURE_CPIO_O, | 92 | IF_FEATURE_CPIO_O(OPTBIT_CREATE ,) |
93 | CPIO_OPT_PASSTHROUGH = (1 << 11) * ENABLE_FEATURE_CPIO_P, | 93 | IF_FEATURE_CPIO_O(OPTBIT_FORMAT ,) |
94 | IF_FEATURE_CPIO_P(OPTBIT_PASSTHROUGH,) | ||
95 | IF_LONG_OPTS( OPTBIT_QUIET ,) | ||
96 | IF_LONG_OPTS( OPTBIT_2STDOUT ,) | ||
97 | CPIO_OPT_CREATE = IF_FEATURE_CPIO_O((1 << OPTBIT_CREATE )) + 0, | ||
98 | CPIO_OPT_FORMAT = IF_FEATURE_CPIO_O((1 << OPTBIT_FORMAT )) + 0, | ||
99 | CPIO_OPT_PASSTHROUGH = IF_FEATURE_CPIO_P((1 << OPTBIT_PASSTHROUGH)) + 0, | ||
100 | CPIO_OPT_QUIET = IF_LONG_OPTS( (1 << OPTBIT_QUIET )) + 0, | ||
101 | CPIO_OPT_2STDOUT = IF_LONG_OPTS( (1 << OPTBIT_2STDOUT )) + 0, | ||
94 | }; | 102 | }; |
95 | 103 | ||
96 | #define OPTION_STR "it0uvdmLF:" | 104 | #define OPTION_STR "it0uvdmLF:" |
@@ -284,6 +292,9 @@ int cpio_main(int argc UNUSED_PARAM, char **argv) | |||
284 | "pass-through\0" No_argument "p" | 292 | "pass-through\0" No_argument "p" |
285 | #endif | 293 | #endif |
286 | #endif | 294 | #endif |
295 | "verbose\0" No_argument "v" | ||
296 | "quiet\0" No_argument "\xff" | ||
297 | "to-stdout\0" No_argument "\xfe" | ||
287 | ; | 298 | ; |
288 | #endif | 299 | #endif |
289 | 300 | ||
@@ -372,6 +383,8 @@ int cpio_main(int argc UNUSED_PARAM, char **argv) | |||
372 | } | 383 | } |
373 | if (opt & CPIO_OPT_EXTRACT) { | 384 | if (opt & CPIO_OPT_EXTRACT) { |
374 | archive_handle->action_data = data_extract_all; | 385 | archive_handle->action_data = data_extract_all; |
386 | if (opt & CPIO_OPT_2STDOUT) | ||
387 | archive_handle->action_data = data_extract_to_stdout; | ||
375 | } | 388 | } |
376 | if (opt & CPIO_OPT_UNCONDITIONAL) { | 389 | if (opt & CPIO_OPT_UNCONDITIONAL) { |
377 | archive_handle->ah_flags |= ARCHIVE_EXTRACT_UNCONDITIONAL; | 390 | archive_handle->ah_flags |= ARCHIVE_EXTRACT_UNCONDITIONAL; |
@@ -406,7 +419,9 @@ int cpio_main(int argc UNUSED_PARAM, char **argv) | |||
406 | while (get_header_cpio(archive_handle) == EXIT_SUCCESS) | 419 | while (get_header_cpio(archive_handle) == EXIT_SUCCESS) |
407 | continue; | 420 | continue; |
408 | 421 | ||
409 | if (archive_handle->ah_priv[2] != (void*) ~(ptrdiff_t)0) | 422 | if (archive_handle->ah_priv[2] != (void*) ~(ptrdiff_t)0 |
423 | && !(opt & CPIO_OPT_QUIET) | ||
424 | ) | ||
410 | printf("%lu blocks\n", (unsigned long)(ptrdiff_t)(archive_handle->ah_priv[2])); | 425 | printf("%lu blocks\n", (unsigned long)(ptrdiff_t)(archive_handle->ah_priv[2])); |
411 | 426 | ||
412 | return EXIT_SUCCESS; | 427 | return EXIT_SUCCESS; |