summaryrefslogtreecommitdiff
path: root/nss/shadow.c
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2010-10-08 11:56:56 +0000
committerArthur de Jong <arthur@arthurdejong.org>2010-10-08 11:56:56 +0000
commit611dc583a05914f81c97c165163bcce021b0dfac (patch)
tree7136faabebdef16fc8690f1fee37d209a53fa7dd /nss/shadow.c
parent5afa471c1b514d82da2fde66fbed699a2e2862fa (diff)
re-introduce {set,get,end}**ent() file handle in Solaris code path and some other miscellaneous small fixes
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-pam-ldapd-solaris@1246 ef36b2f9-881f-0410-afb5-c4e39611909c
Diffstat (limited to 'nss/shadow.c')
-rw-r--r--nss/shadow.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/nss/shadow.c b/nss/shadow.c
index 935d792..4ccb7b6 100644
--- a/nss/shadow.c
+++ b/nss/shadow.c
@@ -108,6 +108,7 @@ static nss_status_t _xnss_ldap_getspnam_r(nss_backend_t UNUSED(*be),void *args)
char *buffer=NSS_ARGS(args)->buf.buffer;
size_t buflen=NSS_ARGS(args)->buf.buflen;
char *data_ptr;
+ char field_buf[128];
nss_status_t status;
if (NSS_ARGS(args)->buf.buflen<0)
{
@@ -121,7 +122,6 @@ static nss_status_t _xnss_ldap_getspnam_r(nss_backend_t UNUSED(*be),void *args)
{
/* result==NULL, return file format */
data_ptr=(char *)malloc(buflen);
- char field_buf[128];
sprintf(data_ptr,"%s:%s:",sp->sp_namp,sp->sp_pwdp);
if (sp->sp_lstchg >= 0)
sprintf(field_buf,"%d:",sp->sp_lstchg);
@@ -170,6 +170,9 @@ static nss_status_t _xnss_ldap_getspnam_r(nss_backend_t UNUSED(*be),void *args)
return status;
}
+/* thread-local file pointer to an ongoing request */
+static __thread TFILE *spentfp;
+
static nss_status_t _xnss_ldap_setspent(nss_backend_t UNUSED(*be),void UNUSED(*args))
{
NSS_SETENT(spentfp);