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)
{
#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;
char *reference_file = NULL;
#else
@ -49,11 +56,18 @@ int touch_main(int argc UNUSED_PARAM, char **argv)
#endif
int fd;
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"
USE_DESKTOP(, &reference_file));
flags &= 1; /* only -c bit is left */
opts &= 1; /* only -c bit is left */
argv += optind;
if (!*argv) {
bb_show_usage();
@ -69,7 +83,7 @@ int touch_main(int argc UNUSED_PARAM, char **argv)
do {
if (utime(*argv, reference_file ? &timebuf : NULL)) {
if (errno == ENOENT) { /* no such file */
if (flags) { /* creation is disabled, so ignore */
if (opts) { /* creation is disabled, so ignore */
continue;
}
/* 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 UNUSED_PARAM, char **argv)
{
#if ENABLE_FEATURE_UNEXPAND_LONG_OPTIONS
#if ENABLE_GETOPT_LONG
static const char longopts[] ALIGN1 =
/* name, has_arg, val */
"all\0" No_argument "a"
@ -97,7 +97,7 @@ int uname_main(int argc UNUSED_PARAM, char **argv)
const unsigned short *delta;
unsigned toprint;
USE_FEATURE_UNEXPAND_LONG_OPTIONS(applet_long_options = longopts);
USE_GETOPT_LONG(applet_long_options = longopts);
toprint = getopt32(argv, options);
if (argv[optind]) { /* coreutils-6.9 compat */