From: Bernhard Reutner-Fischer Date: Sat, 3 Jun 2006 10:24:20 +0000 (-0000) Subject: - No options should set the current system time. X-Git-Tag: 1_2_0~229 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=5c0ae06ef11d2ee7e4b184bd31a5650f2629b850;p=oweals%2Fbusybox.git - 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. --- 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(¤t_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; }