* Licensed under GPL v2 or later, see file License for details.
*/
-#include <sys/time.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
* the RFC 868 time 2,208,988,800 corresponds to 00:00 1 Jan 1970 GMT
* Subtract the RFC 868 time to get Linux epoch
*/
-
+
return(ntohl(nett) - RFC_868_BIAS);
}
int rdate_main(int argc, char **argv)
{
time_t remote_time;
-
- unsigned long flags = bb_getopt_ulflags(argc, argv, "sp");
-
- if (!flags || argc == optind)
- bb_show_usage();
-
+ unsigned long flags;
+
+ bb_opt_complementally = "-1";
+ flags = bb_getopt_ulflags(argc, argv, "sp");
+
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;
}