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.
remote_time = askremotedate(argv[optind]);
- if (flags & 1) {
+ if ((flags & 2) == 0) {
time_t current_time;
time(¤t_time);
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;
}