aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2006-06-03 10:24:20 +0000
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2006-06-03 10:24:20 +0000
commit5c0ae06ef11d2ee7e4b184bd31a5650f2629b850 (patch)
tree77f6caaf2ce4bde7067e4a85ca9488991a04c86c
parent9a990aaba82fb1e1e718c2485ca388d908c85ad7 (diff)
downloadbusybox-5c0ae06ef11d2ee7e4b184bd31a5650f2629b850.tar.gz
- No options should set the current system time.
Shaun Jackman writes: A bug introduced in svn 11946 broke rdate. It no longer sets the current system time when no options are specified. The options have the opposite sense from what one might think, and, oddly enough, -ps is intentionally a no-op. Quoth rdate(8) from the BSD System Manager's Manual: -p Do not set, just print the remote time -s Do not print the time.
-rw-r--r--util-linux/rdate.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/util-linux/rdate.c b/util-linux/rdate.c
index 27bd1b481..c740a691e 100644
--- a/util-linux/rdate.c
+++ b/util-linux/rdate.c
@@ -68,7 +68,7 @@ int rdate_main(int argc, char **argv)
remote_time = askremotedate(argv[optind]);
- if (flags & 1) {
+ if ((flags & 2) == 0) {
time_t current_time;
time(&current_time);
@@ -77,10 +77,10 @@ int rdate_main(int argc, char **argv)
else
if (stime(&remote_time) < 0)
bb_perror_msg_and_die("Could not set time of day");
+ }
- /* No need to check for the -p flag as it's the only option left */
-
- } else printf("%s", ctime(&remote_time));
+ if ((flags & 1) == 0)
+ printf("%s", ctime(&remote_time));
return EXIT_SUCCESS;
}