diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2012-09-03 23:04:35 +0200 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2012-09-03 23:04:35 +0200 |
commit | 1afa882e5de487a14dad4c397c085dbfaa8381cd (patch) | |
tree | 3c540b4740b94a36cac85fb4866e285816f49d0f /nss/group.c | |
parent | 0e09bee4df174b919331f236cc5cabf446fa5055 (diff) |
on Solaris store the errno value in NSS_ARGS(args)->erange
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-pam-ldapd@1747 ef36b2f9-881f-0410-afb5-c4e39611909c
Diffstat (limited to 'nss/group.c')
-rw-r--r-- | nss/group.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/nss/group.c b/nss/group.c index c20ac04..fa173d2 100644 --- a/nss/group.c +++ b/nss/group.c @@ -2,7 +2,7 @@ group.c - NSS lookup functions for group database Copyright (C) 2006 West Consulting - Copyright (C) 2006, 2007, 2008, 2009, 2010 Arthur de Jong + Copyright (C) 2006, 2007, 2008, 2009, 2010, 2012 Arthur de Jong Copyright (C) 2010 Symas Corporation This library is free software; you can redistribute it and/or @@ -196,7 +196,7 @@ static nss_status_t read_groupstring(TFILE *fp,nss_XbyY_args_t *args) buffer=(char *)malloc(args->buf.buflen); if (buffer==NULL) return NSS_STATUS_UNAVAIL; - retv=read_group(fp,&result,buffer,args->buf.buflen,&errno); + retv=read_group(fp,&result,buffer,args->buf.buflen,&NSS_ARGS(args)->erange); if (retv!=NSS_STATUS_SUCCESS) { free(buffer); @@ -224,7 +224,7 @@ static nss_status_t read_groupstring(TFILE *fp,nss_XbyY_args_t *args) #define READ_RESULT(fp) \ NSS_ARGS(args)->buf.result? \ - read_group(fp,(struct group *)NSS_ARGS(args)->buf.result,NSS_ARGS(args)->buf.buffer,NSS_ARGS(args)->buf.buflen,&errno): \ + read_group(fp,(struct group *)NSS_ARGS(args)->buf.result,NSS_ARGS(args)->buf.buffer,NSS_ARGS(args)->buf.buflen,&NSS_ARGS(args)->erange): \ read_groupstring(fp,args); \ if ((NSS_ARGS(args)->buf.result)&&(retv==NSS_STATUS_SUCCESS)) \ NSS_ARGS(args)->returnval=NSS_ARGS(args)->buf.result; @@ -232,7 +232,7 @@ static nss_status_t read_groupstring(TFILE *fp,nss_XbyY_args_t *args) #else /* not HAVE_STRUCT_NSS_XBYY_ARGS_RETURNLEN */ #define READ_RESULT(fp) \ - read_group(fp,(struct group *)NSS_ARGS(args)->buf.result,NSS_ARGS(args)->buf.buffer,NSS_ARGS(args)->buf.buflen,&errno); \ + read_group(fp,(struct group *)NSS_ARGS(args)->buf.result,NSS_ARGS(args)->buf.buffer,NSS_ARGS(args)->buf.buflen,&NSS_ARGS(args)->erange); \ if (retv==NSS_STATUS_SUCCESS) \ NSS_ARGS(args)->returnval=NSS_ARGS(args)->buf.result; @@ -280,7 +280,7 @@ static nss_status_t group_getgroupsbymember(nss_backend_t UNUSED(*be),void *args gid_t skipgroup=(start>0)?argp->gid_array[0]:(gid_t)-1; NSS_BYNAME(NSLCD_ACTION_GROUP_BYMEMBER, argp->username, - read_gids(fp,skipgroup,&start,NULL,(gid_t **)&argp->gid_array,argp->maxgids,&errno); + read_gids(fp,skipgroup,&start,NULL,(gid_t **)&argp->gid_array,argp->maxgids,&NSS_ARGS(args)->erange); argp->numgids=(int)start;); } |