fdwalk should return 0 on an empty directory
[kopensolaris-gnu/glibc.git] / sunrpc / rtime.c
index ca2790a..ff71a55 100644 (file)
@@ -65,21 +65,22 @@ do_close (int s)
   int save;
 
   save = errno;
-  close (s);
+  __close (s);
   __set_errno (save);
 }
 
 int
-rtime (struct sockaddr_in *addrp, struct timeval *timep,
-       struct timeval *timeout)
+rtime (struct sockaddr_in *addrp, struct rpc_timeval *timep,
+       struct rpc_timeval *timeout)
 {
   int s;
   struct pollfd fd;
   int milliseconds;
   int res;
-  unsigned long thetime;
+  /* RFC 868 says the time is transmitted as a 32-bit value.  */
+  uint32_t thetime;
   struct sockaddr_in from;
-  int fromlen;
+  socklen_t fromlen;
   int type;
 
   if (timeout == NULL)
@@ -87,7 +88,7 @@ rtime (struct sockaddr_in *addrp, struct timeval *timep,
   else
     type = SOCK_DGRAM;
 
-  s = socket (AF_INET, type, 0);
+  s = __socket (AF_INET, type, 0);
   if (s < 0)
     return (-1);
 
@@ -95,8 +96,8 @@ rtime (struct sockaddr_in *addrp, struct timeval *timep,
   addrp->sin_port = htons (IPPORT_TIMESERVER);
   if (type == SOCK_DGRAM)
     {
-      res = sendto (s, (char *) &thetime, sizeof (thetime), 0,
-                   (struct sockaddr *) addrp, sizeof (*addrp));
+      res = __sendto (s, (char *) &thetime, sizeof (thetime), 0,
+                     (struct sockaddr *) addrp, sizeof (*addrp));
       if (res < 0)
        {
          do_close (s);
@@ -116,20 +117,20 @@ rtime (struct sockaddr_in *addrp, struct timeval *timep,
          return (-1);
        }
       fromlen = sizeof (from);
-      res = recvfrom (s, (char *) &thetime, sizeof (thetime), 0,
-                     (struct sockaddr *) &from, &fromlen);
+      res = __recvfrom (s, (char *) &thetime, sizeof (thetime), 0,
+                       (struct sockaddr *) &from, &fromlen);
       do_close (s);
       if (res < 0)
        return -1;
     }
   else
     {
-      if (connect (s, (struct sockaddr *) addrp, sizeof (*addrp)) < 0)
+      if (__connect (s, (struct sockaddr *) addrp, sizeof (*addrp)) < 0)
        {
          do_close (s);
          return -1;
        }
-      res = read (s, (char *) &thetime, sizeof (thetime));
+      res = __read (s, (char *) &thetime, sizeof (thetime));
       do_close (s);
       if (res < 0)
        return (-1);
@@ -144,3 +145,4 @@ rtime (struct sockaddr_in *addrp, struct timeval *timep,
   timep->tv_usec = 0;
   return 0;
 }
+libc_hidden_def (rtime)