uname: correct cut/paste error

touch: add long options

function                                             old     new   delta
static.longopts                                      137     162     +25
touch_main                                           221     231     +10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 35/0)               Total: 35 bytes
This commit is contained in:
Denis Vlasenko 2009-03-15 01:28:30 +00:00
parent 7aaedcf21e
commit 7241e6d377
2 changed files with 19 additions and 5 deletions

View File

@ -41,6 +41,13 @@ int touch_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int touch_main(int argc UNUSED_PARAM, char **argv) int touch_main(int argc UNUSED_PARAM, char **argv)
{ {
#if ENABLE_DESKTOP #if ENABLE_DESKTOP
#if ENABLE_GETOPT_LONG
static const char longopts[] ALIGN1 =
/* name, has_arg, val */
"no-create\0" No_argument "c"
"reference\0" Required_argument "r"
;
#endif
struct utimbuf timebuf; struct utimbuf timebuf;
char *reference_file = NULL; char *reference_file = NULL;
#else #else
@ -49,11 +56,18 @@ int touch_main(int argc UNUSED_PARAM, char **argv)
#endif #endif
int fd; int fd;
int status = EXIT_SUCCESS; int status = EXIT_SUCCESS;
int flags = getopt32(argv, "c" USE_DESKTOP("r:") int opts;
#if ENABLE_DESKTOP
#if ENABLE_GETOPT_LONG
applet_long_options = longopts;
#endif
#endif
opts = getopt32(argv, "c" USE_DESKTOP("r:")
/*ignored:*/ "fma" /*ignored:*/ "fma"
USE_DESKTOP(, &reference_file)); USE_DESKTOP(, &reference_file));
flags &= 1; /* only -c bit is left */ opts &= 1; /* only -c bit is left */
argv += optind; argv += optind;
if (!*argv) { if (!*argv) {
bb_show_usage(); bb_show_usage();
@ -69,7 +83,7 @@ int touch_main(int argc UNUSED_PARAM, char **argv)
do { do {
if (utime(*argv, reference_file ? &timebuf : NULL)) { if (utime(*argv, reference_file ? &timebuf : NULL)) {
if (errno == ENOENT) { /* no such file */ if (errno == ENOENT) { /* no such file */
if (flags) { /* creation is disabled, so ignore */ if (opts) { /* creation is disabled, so ignore */
continue; continue;
} }
/* Try to create the file. */ /* Try to create the file. */

View File

@ -73,7 +73,7 @@ static const unsigned short utsname_offset[] = {
int uname_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int uname_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int uname_main(int argc UNUSED_PARAM, char **argv) int uname_main(int argc UNUSED_PARAM, char **argv)
{ {
#if ENABLE_FEATURE_UNEXPAND_LONG_OPTIONS #if ENABLE_GETOPT_LONG
static const char longopts[] ALIGN1 = static const char longopts[] ALIGN1 =
/* name, has_arg, val */ /* name, has_arg, val */
"all\0" No_argument "a" "all\0" No_argument "a"
@ -97,7 +97,7 @@ int uname_main(int argc UNUSED_PARAM, char **argv)
const unsigned short *delta; const unsigned short *delta;
unsigned toprint; unsigned toprint;
USE_FEATURE_UNEXPAND_LONG_OPTIONS(applet_long_options = longopts); USE_GETOPT_LONG(applet_long_options = longopts);
toprint = getopt32(argv, options); toprint = getopt32(argv, options);
if (argv[optind]) { /* coreutils-6.9 compat */ if (argv[optind]) { /* coreutils-6.9 compat */