diff options
Diffstat (limited to 'include/nss.h')
-rw-r--r-- | include/nss.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/nss.h b/include/nss.h index 86a08ed..1f4d078 100644 --- a/include/nss.h +++ b/include/nss.h @@ -46,8 +46,9 @@ enum nss_status { NSS_STATUS_RETURN }; -#define __nss_compat_result(rv) \ -((rv == NSS_STATUS_TRYAGAIN) ? NS_TRYAGAIN : \ +#define __nss_compat_result(rv, err) \ +((rv == NSS_STATUS_TRYAGAIN && err == ERANGE) ? NS_RETURN : \ + (rv == NSS_STATUS_TRYAGAIN) ? NS_TRYAGAIN : \ (rv == NSS_STATUS_UNAVAIL) ? NS_UNAVAIL : \ (rv == NSS_STATUS_NOTFOUND) ? NS_NOTFOUND : \ (rv == NSS_STATUS_SUCCESS) ? NS_SUCCESS : \ |