fdwalk should return 0 on an empty directory
[kopensolaris-gnu/glibc.git] / sunrpc / netname.c
index 7fae673..07cddb7 100644 (file)
@@ -55,6 +55,7 @@ user2netname (char netname[MAXNETNAMELEN + 1], const uid_t uid,
     netname[i - 1] = '\0';
   return 1;
 }
+libc_hidden_def (user2netname)
 
 int
 host2netname (char netname[MAXNETNAMELEN + 1], const char *host,
@@ -115,6 +116,7 @@ host2netname (char netname[MAXNETNAMELEN + 1], const char *host,
   sprintf (netname, "%s.%s@%s", OPSYS, hostname, domainname);
   return 1;
 }
+libc_hidden_def (host2netname)
 
 int
 getnetname (char name[MAXNETNAMELEN + 1])
@@ -129,6 +131,7 @@ getnetname (char name[MAXNETNAMELEN + 1])
     dummy = user2netname (name, uid, NULL);
   return (dummy);
 }
+libc_hidden_def (getnetname)
 
 /* Type of the lookup function for netname2user.  */
 typedef int (*netname2user_function) (const char netname[MAXNETNAMELEN + 1],
@@ -144,36 +147,41 @@ netname2user (const char netname[MAXNETNAMELEN + 1], uid_t * uidp, gid_t * gidp,
   static service_user *startp;
   static netname2user_function start_fct;
   service_user *nip;
-  netname2user_function fct;
+  union
+  {
+    netname2user_function f;
+    void *ptr;
+  } fct;
   enum nss_status status = NSS_STATUS_UNAVAIL;
   int no_more;
 
   if (startp == NULL)
     {
-      no_more = __nss_publickey_lookup (&nip, "netname2user", (void **) &fct);
+      no_more = __nss_publickey_lookup (&nip, "netname2user", &fct.ptr);
       if (no_more)
        startp = (service_user *) - 1;
       else
        {
          startp = nip;
-         start_fct = fct;
+         start_fct = fct.f;
        }
     }
   else
     {
-      fct = start_fct;
+      fct.f = start_fct;
       no_more = (nip = startp) == (service_user *) - 1;
     }
 
   while (!no_more)
     {
-      status = (*fct) (netname, uidp, gidp, gidlenp, gidlist);
+      status = (*fct.f) (netname, uidp, gidp, gidlenp, gidlist);
 
-      no_more = __nss_next (&nip, "netname2user", (void **) &fct, status, 0);
+      no_more = __nss_next (&nip, "netname2user", &fct.ptr, status, 0);
     }
 
   return status == NSS_STATUS_SUCCESS;
 }
+libc_hidden_def (netname2user)
 
 int
 netname2host (const char netname[MAXNETNAMELEN + 1], char *hostname,