diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | nscd/nscd_getai.c | 4 | ||||
-rw-r--r-- | nscd/nscd_getgr_r.c | 4 | ||||
-rw-r--r-- | nscd/nscd_gethst_r.c | 4 | ||||
-rw-r--r-- | nscd/nscd_getpw_r.c | 4 | ||||
-rw-r--r-- | nscd/nscd_getserv_r.c | 4 | ||||
-rw-r--r-- | nscd/nscd_helper.c | 2 |
7 files changed, 19 insertions, 11 deletions
@@ -1,5 +1,13 @@ 2007-10-13 Ulrich Drepper <drepper@redhat.com> + [BZ #3195] + * nscd/nscd_getai.c (__nscd_getai): Set errno to 0 in case we found + no entry. + * nscd/nscd_getgr.c (nscd_getgr_r): Likewise. + * nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise. + * nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise. + * nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise. + * nscd/nscd_getgr_r.c (nscd_getgr_r): Optimize a bit: use simpler read mechanism when there are no group members and avoid no-op read syscall in this case. diff --git a/nscd/nscd_getai.c b/nscd/nscd_getai.c index 5df32dc..56f9637 100644 --- a/nscd/nscd_getai.c +++ b/nscd/nscd_getai.c @@ -168,8 +168,8 @@ __nscd_getai (const char *key, struct nscd_ai_result **result, int *h_errnop) /* Store the error number. */ *h_errnop = ai_resp.error; - /* The `errno' to some value != ERANGE. */ - __set_errno (ENOENT); + /* Set errno to 0 to indicate no error, just no found record. */ + __set_errno (0); /* Even though we have not found anything, the result is zero. */ retval = 0; } diff --git a/nscd/nscd_getgr_r.c b/nscd/nscd_getgr_r.c index 543ee17..a277a1d 100644 --- a/nscd/nscd_getgr_r.c +++ b/nscd/nscd_getgr_r.c @@ -302,8 +302,8 @@ nscd_getgr_r (const char *key, size_t keylen, request_type type, } else { - /* The `errno' to some value != ERANGE. */ - __set_errno (ENOENT); + /* Set errno to 0 to indicate no error, just no found record. */ + __set_errno (0); /* Even though we have not found anything, the result is zero. */ retval = 0; } diff --git a/nscd/nscd_gethst_r.c b/nscd/nscd_gethst_r.c index 03b73a4..a211404 100644 --- a/nscd/nscd_gethst_r.c +++ b/nscd/nscd_gethst_r.c @@ -379,8 +379,8 @@ nscd_gethst_r (const char *key, size_t keylen, request_type type, /* Store the error number. */ *h_errnop = hst_resp.error; - /* The `errno' to some value != ERANGE. */ - __set_errno (ENOENT); + /* Set errno to 0 to indicate no error, just no found record. */ + __set_errno (0); /* Even though we have not found anything, the result is zero. */ retval = 0; } diff --git a/nscd/nscd_getpw_r.c b/nscd/nscd_getpw_r.c index b84baa1..21f792b 100644 --- a/nscd/nscd_getpw_r.c +++ b/nscd/nscd_getpw_r.c @@ -211,8 +211,8 @@ nscd_getpw_r (const char *key, size_t keylen, request_type type, } else { - /* The `errno' to some value != ERANGE. */ - __set_errno (ENOENT); + /* Set errno to 0 to indicate no error, just no found record. */ + __set_errno (0); /* Even though we have not found anything, the result is zero. */ retval = 0; } diff --git a/nscd/nscd_getserv_r.c b/nscd/nscd_getserv_r.c index a725b1d..3cd5a24 100644 --- a/nscd/nscd_getserv_r.c +++ b/nscd/nscd_getserv_r.c @@ -301,8 +301,8 @@ nscd_getserv_r (const char *crit, size_t critlen, const char *proto, } else { - /* The `errno' to some value != ERANGE. */ - __set_errno (ENOENT); + /* Set errno to 0 to indicate no error, just no found record. */ + __set_errno (0); /* Even though we have not found anything, the result is zero. */ retval = 0; } diff --git a/nscd/nscd_helper.c b/nscd/nscd_helper.c index b499f9c..8665352 100644 --- a/nscd/nscd_helper.c +++ b/nscd/nscd_helper.c @@ -39,7 +39,7 @@ /* Extra time we wait if the socket is still receiving data. This - value is in microseconds. Note that the other side is nscd on the + value is in milliseconds. Note that the other side is nscd on the local machine and it is already transmitting data. So the wait time need not be long. */ #define EXTRA_RECEIVE_TIME 200 |