aboutsummaryrefslogtreecommitdiff
path: root/util-linux
diff options
context:
space:
mode:
Diffstat (limited to 'util-linux')
-rw-r--r--util-linux/rdate.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/util-linux/rdate.c b/util-linux/rdate.c
index 50be4de8c..04a76129a 100644
--- a/util-linux/rdate.c
+++ b/util-linux/rdate.c
@@ -46,17 +46,17 @@ static time_t askremotedate(const char *host)
int fd;
h = xgethostbyname(host); /* get the IP addr */
+ memcpy(&s_in.sin_addr, h->h_addr, sizeof(s_in.sin_addr));
+
+ s_in.sin_port = htons(37); /* find port # */
+ if ((tserv = getservbyname("time", "tcp")) != NULL)
+ s_in.sin_port = tserv->s_port;
- if ((tserv = getservbyname("time", "tcp")) == NULL) /* find port # */
- perror_msg_and_die("time");
+ s_in.sin_family = AF_INET;
if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) /* get net connection */
perror_msg_and_die("socket");
- memcpy(&s_in.sin_addr, h->h_addr, sizeof(s_in.sin_addr));
- s_in.sin_port= tserv->s_port;
- s_in.sin_family = AF_INET;
-
if (connect(fd, (struct sockaddr *)&s_in, sizeof(s_in)) < 0) /* connect to time server */
perror_msg_and_die("%s", host);