Rework option handling to save space.
This commit is contained in:
parent
547e102082
commit
13cb842773
30
rdate.c
30
rdate.c
@ -48,10 +48,10 @@ static time_t askremotedate(const char *host)
|
|||||||
h = xgethostbyname(host); /* get the IP addr */
|
h = xgethostbyname(host); /* get the IP addr */
|
||||||
|
|
||||||
if ((tserv = getservbyname("time", "tcp")) == NULL) /* find port # */
|
if ((tserv = getservbyname("time", "tcp")) == NULL) /* find port # */
|
||||||
perror_msg_and_die("%s", "time");
|
perror_msg_and_die("time");
|
||||||
|
|
||||||
if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) /* get net connection */
|
if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) /* get net connection */
|
||||||
perror_msg_and_die("%s", "socket");
|
perror_msg_and_die("socket");
|
||||||
|
|
||||||
memcpy(&s_in.sin_addr, h->h_addr, sizeof(s_in.sin_addr));
|
memcpy(&s_in.sin_addr, h->h_addr, sizeof(s_in.sin_addr));
|
||||||
s_in.sin_port= tserv->s_port;
|
s_in.sin_port= tserv->s_port;
|
||||||
@ -80,33 +80,25 @@ int rdate_main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
time_t remote_time;
|
time_t remote_time;
|
||||||
int opt;
|
int opt;
|
||||||
int setdate = 0;
|
int setdate = 1;
|
||||||
int printdate= 0;
|
int printdate = 1;
|
||||||
|
|
||||||
/* Interpret command line args */
|
/* Interpret command line args */
|
||||||
/* do special-case option parsing */
|
while ((opt = getopt(argc, argv, "sp")) > 0) {
|
||||||
if (argv[1] && (strcmp(argv[1], "--help") == 0))
|
|
||||||
show_usage();
|
|
||||||
|
|
||||||
/* do normal option parsing */
|
|
||||||
while ((opt = getopt(argc, argv, "Hsp")) > 0) {
|
|
||||||
switch (opt) {
|
switch (opt) {
|
||||||
default:
|
|
||||||
case 'H':
|
|
||||||
show_usage();
|
|
||||||
break;
|
|
||||||
case 's':
|
case 's':
|
||||||
setdate++;
|
printdate = 0;
|
||||||
|
setdate = 1;
|
||||||
break;
|
break;
|
||||||
case 'p':
|
case 'p':
|
||||||
printdate++;
|
printdate = 1;
|
||||||
|
setdate = 0;
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
show_usage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* the default action is to set the date */
|
|
||||||
if (printdate==0 && setdate==0) setdate++;
|
|
||||||
|
|
||||||
if (optind == argc)
|
if (optind == argc)
|
||||||
show_usage();
|
show_usage();
|
||||||
|
|
||||||
|
@ -48,10 +48,10 @@ static time_t askremotedate(const char *host)
|
|||||||
h = xgethostbyname(host); /* get the IP addr */
|
h = xgethostbyname(host); /* get the IP addr */
|
||||||
|
|
||||||
if ((tserv = getservbyname("time", "tcp")) == NULL) /* find port # */
|
if ((tserv = getservbyname("time", "tcp")) == NULL) /* find port # */
|
||||||
perror_msg_and_die("%s", "time");
|
perror_msg_and_die("time");
|
||||||
|
|
||||||
if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) /* get net connection */
|
if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) /* get net connection */
|
||||||
perror_msg_and_die("%s", "socket");
|
perror_msg_and_die("socket");
|
||||||
|
|
||||||
memcpy(&s_in.sin_addr, h->h_addr, sizeof(s_in.sin_addr));
|
memcpy(&s_in.sin_addr, h->h_addr, sizeof(s_in.sin_addr));
|
||||||
s_in.sin_port= tserv->s_port;
|
s_in.sin_port= tserv->s_port;
|
||||||
@ -80,33 +80,25 @@ int rdate_main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
time_t remote_time;
|
time_t remote_time;
|
||||||
int opt;
|
int opt;
|
||||||
int setdate = 0;
|
int setdate = 1;
|
||||||
int printdate= 0;
|
int printdate = 1;
|
||||||
|
|
||||||
/* Interpret command line args */
|
/* Interpret command line args */
|
||||||
/* do special-case option parsing */
|
while ((opt = getopt(argc, argv, "sp")) > 0) {
|
||||||
if (argv[1] && (strcmp(argv[1], "--help") == 0))
|
|
||||||
show_usage();
|
|
||||||
|
|
||||||
/* do normal option parsing */
|
|
||||||
while ((opt = getopt(argc, argv, "Hsp")) > 0) {
|
|
||||||
switch (opt) {
|
switch (opt) {
|
||||||
default:
|
|
||||||
case 'H':
|
|
||||||
show_usage();
|
|
||||||
break;
|
|
||||||
case 's':
|
case 's':
|
||||||
setdate++;
|
printdate = 0;
|
||||||
|
setdate = 1;
|
||||||
break;
|
break;
|
||||||
case 'p':
|
case 'p':
|
||||||
printdate++;
|
printdate = 1;
|
||||||
|
setdate = 0;
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
show_usage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* the default action is to set the date */
|
|
||||||
if (printdate==0 && setdate==0) setdate++;
|
|
||||||
|
|
||||||
if (optind == argc)
|
if (optind == argc)
|
||||||
show_usage();
|
show_usage();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user