summaryrefslogtreecommitdiff
path: root/util-linux/rdate.c
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer2006-06-03 10:24:20 +0000
committerBernhard Reutner-Fischer2006-06-03 10:24:20 +0000
commit5c0ae06ef11d2ee7e4b184bd31a5650f2629b850 (patch)
tree77f6caaf2ce4bde7067e4a85ca9488991a04c86c /util-linux/rdate.c
parent9a990aaba82fb1e1e718c2485ca388d908c85ad7 (diff)
downloadbusybox-5c0ae06ef11d2ee7e4b184bd31a5650f2629b850.zip
busybox-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.
Diffstat (limited to 'util-linux/rdate.c')
-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 27bd1b4..c740a69 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;
}