diff options
| author | Ron Yorston <rmy@pobox.com> | 2023-08-10 10:14:38 +0100 |
|---|---|---|
| committer | Ron Yorston <rmy@pobox.com> | 2023-08-10 10:14:38 +0100 |
| commit | 1ba2d37b9f59c4e7a44abb56dfb87f044ba7dc77 (patch) | |
| tree | e317201c6424df53b4dbbfddc0de304d62c8a3a8 /util-linux | |
| parent | 7b692ddf0c746014f94813bcb6418f0c95d85afc (diff) | |
| parent | 8f0845cad7bfc46939132b33f9cd0753b261b953 (diff) | |
| download | busybox-w32-1ba2d37b9f59c4e7a44abb56dfb87f044ba7dc77.tar.gz busybox-w32-1ba2d37b9f59c4e7a44abb56dfb87f044ba7dc77.tar.bz2 busybox-w32-1ba2d37b9f59c4e7a44abb56dfb87f044ba7dc77.zip | |
Merge branch 'busybox' into merge
Diffstat (limited to 'util-linux')
| -rw-r--r-- | util-linux/hwclock.c | 83 | ||||
| -rw-r--r-- | util-linux/renice.c | 2 | ||||
| -rw-r--r-- | util-linux/rev.c | 2 | ||||
| -rw-r--r-- | util-linux/umount.c | 2 |
4 files changed, 45 insertions, 44 deletions
diff --git a/util-linux/hwclock.c b/util-linux/hwclock.c index d78bfe374..e6f0043d0 100644 --- a/util-linux/hwclock.c +++ b/util-linux/hwclock.c | |||
| @@ -9,6 +9,7 @@ | |||
| 9 | //config:config HWCLOCK | 9 | //config:config HWCLOCK |
| 10 | //config: bool "hwclock (5.9 kb)" | 10 | //config: bool "hwclock (5.9 kb)" |
| 11 | //config: default y | 11 | //config: default y |
| 12 | //config: select LONG_OPTS | ||
| 12 | //config: help | 13 | //config: help |
| 13 | //config: The hwclock utility is used to read and set the hardware clock | 14 | //config: The hwclock utility is used to read and set the hardware clock |
| 14 | //config: on a system. This is primarily used to set the current time on | 15 | //config: on a system. This is primarily used to set the current time on |
| @@ -409,89 +410,89 @@ static void set_rtc_param(const char **pp_rtcname, char *rtc_param) | |||
| 409 | // -v, --verbose display more details | 410 | // -v, --verbose display more details |
| 410 | 411 | ||
| 411 | //usage:#define hwclock_trivial_usage | 412 | //usage:#define hwclock_trivial_usage |
| 412 | //usage: IF_LONG_OPTS( | 413 | //usage: "[-ul] [-f DEV] [-s|-w|--systz|--param-get PARAM|--param-set PARAM=VAL]" |
| 413 | //usage: "[-swul] [--systz] [--param-get PARAM] [--param-set PARAM=VAL] [-f DEV]" | ||
| 414 | //usage: ) | ||
| 415 | //usage: IF_NOT_LONG_OPTS( | ||
| 416 | //usage: "[-swult] [-g PARAM] [-p PARAM=VAL] [-f DEV]" | ||
| 417 | //usage: ) | ||
| 418 | //usage:#define hwclock_full_usage "\n\n" | 414 | //usage:#define hwclock_full_usage "\n\n" |
| 419 | //usage: "Show or set hardware clock (RTC)\n" | 415 | //usage: "Show or set hardware clock (RTC)\n" |
| 416 | //usage: "\n -f DEV Use this device (e.g. /dev/rtc2)" | ||
| 417 | //usage: "\n -u Assume RTC is kept in UTC" | ||
| 418 | //usage: "\n -l Assume RTC is kept in local time" | ||
| 419 | //usage: "\n (if neither is given, read from "ADJTIME_PATH")" | ||
| 420 | ///////: "\n -r Show RTC time" | 420 | ///////: "\n -r Show RTC time" |
| 421 | ///////-r is default, don't bother showing it in help | 421 | ///////-r is default, don't bother showing it in help |
| 422 | //usage: "\n -s Set system time from RTC" | 422 | //usage: "\n -s Set system time from RTC" |
| 423 | //usage: "\n -w Set RTC from system time" | 423 | //usage: "\n -w Set RTC from system time" |
| 424 | //usage: IF_LONG_OPTS( | ||
| 425 | //usage: "\n --systz Set in-kernel timezone, correct system time" | 424 | //usage: "\n --systz Set in-kernel timezone, correct system time" |
| 426 | //usage: "\n if RTC is kept in local time" | 425 | //usage: "\n if RTC is kept in local time" |
| 427 | //usage: "\n --param-get PARAM Get RTC parameter" | 426 | //usage: "\n --param-get PARAM Get RTC parameter" |
| 428 | //usage: "\n --param-set PARAM=VAL Set RTC parameter" | 427 | //usage: "\n --param-set PARAM=VAL Set RTC parameter" |
| 429 | //usage: ) | ||
| 430 | //usage: "\n -f DEV Use specified device (e.g. /dev/rtc2)" | ||
| 431 | //usage: "\n -u Assume RTC is kept in UTC" | ||
| 432 | //usage: "\n -l Assume RTC is kept in local time" | ||
| 433 | //usage: "\n (if neither is given, read from "ADJTIME_PATH")" | ||
| 434 | |||
| 435 | //TODO: get rid of incompatible -t alias to --systz? | ||
| 436 | |||
| 437 | #define HWCLOCK_OPT_LOCALTIME 0x01 | ||
| 438 | #define HWCLOCK_OPT_UTC 0x02 | ||
| 439 | #define HWCLOCK_OPT_SHOW 0x04 | ||
| 440 | #define HWCLOCK_OPT_HCTOSYS 0x08 | ||
| 441 | #define HWCLOCK_OPT_SYSTOHC 0x10 | ||
| 442 | #define HWCLOCK_OPT_SYSTZ 0x20 | ||
| 443 | #define HWCLOCK_OPT_RTCFILE 0x40 | ||
| 444 | #define HWCLOCK_OPT_PARAM_GET 0x80 | ||
| 445 | #define HWCLOCK_OPT_PARAM_SET 0x100 | ||
| 446 | 428 | ||
| 447 | int hwclock_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 429 | int hwclock_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
| 448 | int hwclock_main(int argc UNUSED_PARAM, char **argv) | 430 | int hwclock_main(int argc UNUSED_PARAM, char **argv) |
| 449 | { | 431 | { |
| 450 | const char *rtcname = NULL; | 432 | const char *rtcname = NULL; |
| 451 | char *param; | 433 | char *param; |
| 452 | unsigned opt; | 434 | unsigned opt, exclusive; |
| 453 | int utc; | 435 | int utc; |
| 454 | #if ENABLE_LONG_OPTS | 436 | #define OPT_LOCALTIME (1 << 0) |
| 437 | #define OPT_UTC (1 << 1) | ||
| 438 | #define OPT_RTCFILE (1 << 2) | ||
| 439 | #define OPT_SHOW (1 << 3) | ||
| 440 | #define OPT_HCTOSYS (1 << 4) | ||
| 441 | #define OPT_SYSTOHC (1 << 5) | ||
| 442 | #define OPT_PARAM_GET (1 << 6) | ||
| 443 | #define OPT_PARAM_SET (1 << 7) | ||
| 444 | //#define OPT_VERBOSE (1 << 8) UNUSED | ||
| 445 | #define OPT_SYSTZ (1 << 9) | ||
| 455 | static const char hwclock_longopts[] ALIGN1 = | 446 | static const char hwclock_longopts[] ALIGN1 = |
| 456 | "localtime\0" No_argument "l" | 447 | "localtime\0" No_argument "l" |
| 457 | "utc\0" No_argument "u" | 448 | "utc\0" No_argument "u" |
| 449 | "rtc\0" Required_argument "f" | ||
| 458 | "show\0" No_argument "r" | 450 | "show\0" No_argument "r" |
| 459 | "hctosys\0" No_argument "s" | 451 | "hctosys\0" No_argument "s" |
| 460 | "systohc\0" No_argument "w" | 452 | "systohc\0" No_argument "w" |
| 461 | "systz\0" No_argument "t" /* short opt is non-standard */ | 453 | "param-get\0" Required_argument "\xfd" /* no short equivalent */ |
| 462 | "rtc\0" Required_argument "f" | 454 | "param-set\0" Required_argument "\xfe" /* no short equivalent */ |
| 463 | "param-get\0" Required_argument "g" /* short opt is non-standard */ | 455 | "systz\0" No_argument "\xff" /* no short equivalent */ |
| 464 | "param-set\0" Required_argument "p" /* short opt is non-standard */ | ||
| 465 | ; | 456 | ; |
| 466 | #endif | ||
| 467 | opt = getopt32long(argv, | 457 | opt = getopt32long(argv, |
| 468 | "^""lurswtf:g:p:v" /* -v is accepted and ignored */ | 458 | "^""luf:rsw\xfd:\xfe:v" /* -v is accepted and ignored */ |
| 469 | "\0" | 459 | "\0" |
| 470 | "r--wstgp:w--rstgp:s--wrtgp:t--rswgp:g--rswtp:p--rswtg:l--u:u--l", | 460 | "l--u:u--l", |
| 471 | hwclock_longopts, | 461 | hwclock_longopts, |
| 472 | &rtcname, | 462 | &rtcname, |
| 473 | ¶m, | 463 | ¶m, |
| 474 | ¶m | 464 | ¶m |
| 475 | ); | 465 | ); |
| 466 | #if 0 //DEBUG | ||
| 467 | bb_error_msg("opt:0x%x", opt); | ||
| 468 | if (opt & OPT_PARAM_GET) bb_error_msg("OPT_PARAM_GET %s", param); | ||
| 469 | if (opt & OPT_PARAM_SET) bb_error_msg("OPT_PARAM_SET %s", param); | ||
| 470 | if (opt & OPT_SYSTZ ) bb_error_msg("OPT_SYSTZ"); | ||
| 471 | return 0; | ||
| 472 | #endif | ||
| 473 | /* All options apart from -luf are exclusive, enforce */ | ||
| 474 | exclusive = opt >> 3; | ||
| 475 | if ((exclusive - 1) & exclusive) /* more than one bit set? */ | ||
| 476 | bb_show_usage(); | ||
| 476 | 477 | ||
| 477 | /* If -u or -l wasn't given, check if we are using utc */ | 478 | /* If -u or -l wasn't given, check if we are using utc */ |
| 478 | if (opt & (HWCLOCK_OPT_UTC | HWCLOCK_OPT_LOCALTIME)) | 479 | if (opt & (OPT_UTC | OPT_LOCALTIME)) |
| 479 | utc = (opt & HWCLOCK_OPT_UTC); | 480 | utc = (opt & OPT_UTC); |
| 480 | else | 481 | else |
| 481 | utc = rtc_adjtime_is_utc(); | 482 | utc = rtc_adjtime_is_utc(); |
| 482 | 483 | ||
| 483 | if (opt & HWCLOCK_OPT_HCTOSYS) | 484 | if (opt & OPT_HCTOSYS) |
| 484 | to_sys_clock(&rtcname, utc); | 485 | to_sys_clock(&rtcname, utc); |
| 485 | else if (opt & HWCLOCK_OPT_SYSTOHC) | 486 | else if (opt & OPT_SYSTOHC) |
| 486 | from_sys_clock(&rtcname, utc); | 487 | from_sys_clock(&rtcname, utc); |
| 487 | else if (opt & HWCLOCK_OPT_SYSTZ) | 488 | else if (opt & OPT_SYSTZ) |
| 488 | set_kernel_timezone_and_clock(utc, NULL); | 489 | set_kernel_timezone_and_clock(utc, NULL); |
| 489 | else if (opt & HWCLOCK_OPT_PARAM_GET) | 490 | else if (opt & OPT_PARAM_GET) |
| 490 | get_rtc_param(&rtcname, param); | 491 | get_rtc_param(&rtcname, param); |
| 491 | else if (opt & HWCLOCK_OPT_PARAM_SET) | 492 | else if (opt & OPT_PARAM_SET) |
| 492 | set_rtc_param(&rtcname, param); | 493 | set_rtc_param(&rtcname, param); |
| 493 | else | 494 | else |
| 494 | /* default HWCLOCK_OPT_SHOW */ | 495 | /* default OPT_SHOW */ |
| 495 | show_clock(&rtcname, utc); | 496 | show_clock(&rtcname, utc); |
| 496 | 497 | ||
| 497 | return 0; | 498 | return 0; |
diff --git a/util-linux/renice.c b/util-linux/renice.c index 53f197cce..f2737f29b 100644 --- a/util-linux/renice.c +++ b/util-linux/renice.c | |||
| @@ -45,7 +45,7 @@ int renice_main(int argc UNUSED_PARAM, char **argv) | |||
| 45 | { | 45 | { |
| 46 | static const char Xetpriority_msg[] ALIGN1 = "%cetpriority"; | 46 | static const char Xetpriority_msg[] ALIGN1 = "%cetpriority"; |
| 47 | 47 | ||
| 48 | int retval = EXIT_SUCCESS; | 48 | exitcode_t retval = EXIT_SUCCESS; |
| 49 | int which = PRIO_PROCESS; /* Default 'which' value. */ | 49 | int which = PRIO_PROCESS; /* Default 'which' value. */ |
| 50 | int use_relative = 0; | 50 | int use_relative = 0; |
| 51 | int adjustment, new_priority; | 51 | int adjustment, new_priority; |
diff --git a/util-linux/rev.c b/util-linux/rev.c index 36736359b..9a4b887e4 100644 --- a/util-linux/rev.c +++ b/util-linux/rev.c | |||
| @@ -55,7 +55,7 @@ static void strrev(CHAR_T *s, int len) | |||
| 55 | int rev_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 55 | int rev_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
| 56 | int rev_main(int argc UNUSED_PARAM, char **argv) | 56 | int rev_main(int argc UNUSED_PARAM, char **argv) |
| 57 | { | 57 | { |
| 58 | int retval; | 58 | exitcode_t retval; |
| 59 | size_t bufsize; | 59 | size_t bufsize; |
| 60 | char *buf; | 60 | char *buf; |
| 61 | 61 | ||
diff --git a/util-linux/umount.c b/util-linux/umount.c index 23da32868..f5c97a034 100644 --- a/util-linux/umount.c +++ b/util-linux/umount.c | |||
| @@ -97,7 +97,7 @@ int umount_main(int argc UNUSED_PARAM, char **argv) | |||
| 97 | struct mntent me; | 97 | struct mntent me; |
| 98 | FILE *fp; | 98 | FILE *fp; |
| 99 | char *fstype = NULL; | 99 | char *fstype = NULL; |
| 100 | int status = EXIT_SUCCESS; | 100 | exitcode_t status = EXIT_SUCCESS; |
| 101 | unsigned opt; | 101 | unsigned opt; |
| 102 | struct mtab_list { | 102 | struct mtab_list { |
| 103 | char *dir; | 103 | char *dir; |
