diff options
Diffstat (limited to 'nscd')
-rw-r--r-- | nscd/connections.c | 2 | ||||
-rw-r--r-- | nscd/nscd-client.h | 5 | ||||
-rw-r--r-- | nscd/nscd.c | 2 | ||||
-rw-r--r-- | nscd/nscd_getgr_r.c | 30 | ||||
-rw-r--r-- | nscd/nscd_gethst_r.c | 6 | ||||
-rw-r--r-- | nscd/nscd_getpw_r.c | 28 |
6 files changed, 11 insertions, 62 deletions
diff --git a/nscd/connections.c b/nscd/connections.c index dd0b2306a4..2e87269d10 100644 --- a/nscd/connections.c +++ b/nscd/connections.c @@ -296,7 +296,7 @@ cannot handle old request version %d; current version is %d"), /* No, sent the prepared record. */ if (TEMP_FAILURE_RETRY (write (fd, db->disabled_iov->iov_base, db->disabled_iov->iov_len)) - != db->disabled_iov->iov_len + != (ssize_t) db->disabled_iov->iov_len && __builtin_expect (debug_level, 0) > 0) { /* We have problems sending the result. */ diff --git a/nscd/nscd-client.h b/nscd/nscd-client.h index 8e00df5637..be3bc2ffb9 100644 --- a/nscd/nscd-client.h +++ b/nscd/nscd-client.h @@ -1,4 +1,4 @@ -/* Copyright (c) 1998, 1999, 2000 Free Software Foundation, Inc. +/* Copyright (c) 1998, 1999, 2000, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@suse.de>, 1998. @@ -110,4 +110,7 @@ typedef struct } hst_response_header; +/* Open socket connection to nscd server. */ +extern int __nscd_open_socket (void) attribute_hidden; + #endif /* nscd.h */ diff --git a/nscd/nscd.c b/nscd/nscd.c index 97400d1cf1..5844b38407 100644 --- a/nscd/nscd.c +++ b/nscd/nscd.c @@ -176,7 +176,7 @@ main (int argc, char **argv) while ((dirent = readdir64 (d)) != NULL) { char *endp; - unsigned long int fdn = strtoul (dirent->d_name, &endp, 10); + long int fdn = strtol (dirent->d_name, &endp, 10); if (*endp == '\0' && fdn != dfdn && fdn >= min_close_fd) close ((int) fdn); diff --git a/nscd/nscd_getgr_r.c b/nscd/nscd_getgr_r.c index 1769ff1c6e..eae2544e12 100644 --- a/nscd/nscd_getgr_r.c +++ b/nscd/nscd_getgr_r.c @@ -60,40 +60,12 @@ __nscd_getgrgid_r (gid_t gid, struct group *resultbuf, char *buffer, } -/* Create a socket connected to a name. */ -static int -open_socket (void) -{ - struct sockaddr_un addr; - int sock; - int saved_errno = errno; - - sock = __socket (PF_UNIX, SOCK_STREAM, 0); - if (sock < 0) - { - __set_errno (saved_errno); - return -1; - } - - addr.sun_family = AF_UNIX; - strcpy (addr.sun_path, _PATH_NSCDSOCKET); - if (__connect (sock, (struct sockaddr *) &addr, sizeof (addr)) < 0) - { - __close (sock); - __set_errno (saved_errno); - return -1; - } - - return sock; -} - - static int internal_function nscd_getgr_r (const char *key, size_t keylen, request_type type, struct group *resultbuf, char *buffer, size_t buflen) { - int sock = open_socket (); + int sock = __nscd_open_socket (); request_header req; gr_response_header gr_resp; ssize_t nbytes; diff --git a/nscd/nscd_gethst_r.c b/nscd/nscd_gethst_r.c index bd0be682d8..9488c53d0f 100644 --- a/nscd/nscd_gethst_r.c +++ b/nscd/nscd_gethst_r.c @@ -86,8 +86,8 @@ __nscd_gethostbyaddr_r (const void *addr, socklen_t len, int type, /* Create a socket connected to a name. */ -static int -open_socket (void) +int +__nscd_open_socket (void) { struct sockaddr_un addr; int sock; @@ -119,7 +119,7 @@ nscd_gethst_r (const char *key, size_t keylen, request_type type, struct hostent *resultbuf, char *buffer, size_t buflen, int *h_errnop) { - int sock = open_socket (); + int sock = __nscd_open_socket (); hst_response_header hst_resp; request_header req; ssize_t nbytes; diff --git a/nscd/nscd_getpw_r.c b/nscd/nscd_getpw_r.c index 7e7ed619c8..abd059e539 100644 --- a/nscd/nscd_getpw_r.c +++ b/nscd/nscd_getpw_r.c @@ -60,39 +60,13 @@ __nscd_getpwuid_r (uid_t uid, struct passwd *resultbuf, char *buffer, return nscd_getpw_r (buf, n, GETPWBYUID, resultbuf, buffer, buflen); } -/* Create a socket connected to a name. */ -static int -open_socket (void) -{ - struct sockaddr_un addr; - int sock; - int saved_errno = errno; - - sock = __socket (PF_UNIX, SOCK_STREAM, 0); - if (sock < 0) - { - __set_errno (saved_errno); - return -1; - } - - addr.sun_family = AF_UNIX; - strcpy (addr.sun_path, _PATH_NSCDSOCKET); - if (__connect (sock, (struct sockaddr *) &addr, sizeof (addr)) < 0) - { - __close (sock); - __set_errno (saved_errno); - return -1; - } - - return sock; -} static int internal_function nscd_getpw_r (const char *key, size_t keylen, request_type type, struct passwd *resultbuf, char *buffer, size_t buflen) { - int sock = open_socket (); + int sock = __nscd_open_socket (); request_header req; pw_response_header pw_resp; ssize_t nbytes; |