From ba1d1f76dfb4fa3f2a408e8b31537dc682f4bf3b Mon Sep 17 00:00:00 2001 From: Arthur de Jong Date: Sun, 28 Oct 2012 20:13:43 +0000 Subject: refactor the read_result() functions into a common macro and move all the Solaris-specific definitions to solnss.h git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-pam-ldapd@1812 ef36b2f9-881f-0410-afb5-c4e39611909c --- nss/rpc.c | 35 +---------------------------------- 1 file changed, 1 insertion(+), 34 deletions(-) (limited to 'nss/rpc.c') diff --git a/nss/rpc.c b/nss/rpc.c index 581be5e..4ebbf53 100644 --- a/nss/rpc.c +++ b/nss/rpc.c @@ -115,40 +115,7 @@ static char *rpcent2str(struct rpcent *result,char *buffer,size_t buflen) static nss_status_t read_result(TFILE *fp,nss_XbyY_args_t *args) { - nss_status_t retv; -#ifdef HAVE_STRUCT_NSS_XBYY_ARGS_RETURNLEN - struct rpcent result; - char *buffer; - /* try to return in string format if requested */ - if (args->buf.result==NULL) - { - /* read the entry into a temporary buffer */ - buffer=(char *)malloc(args->buf.buflen); - if (buffer==NULL) - return NSS_STATUS_UNAVAIL; - retv=read_rpcent(fp,&result,buffer,args->buf.buflen,&args->erange); - /* format to string */ - if (retv==NSS_STATUS_SUCCESS) - if (rpcent2str(&result,args->buf.buffer,args->buf.buflen)==NULL) - { - args->erange=1; - retv=NSS_NOTFOUND; - } - /* clean up and return result */ - free(buffer); - if (retv!=NSS_STATUS_SUCCESS) - return retv; - args->returnval=args->buf.buffer; - args->returnlen=strlen(args->returnval); - return NSS_STATUS_SUCCESS; - } -#endif /* HAVE_STRUCT_NSS_XBYY_ARGS_RETURNLEN */ - /* read the entry */ - retv=read_rpcent(fp,args->buf.result,args->buf.buffer,args->buf.buflen,&args->erange); - if (retv!=NSS_STATUS_SUCCESS) - return retv; - args->returnval=args->buf.result; - return NSS_STATUS_SUCCESS; + READ_RESULT(rpcent,&args->erange); } static nss_status_t rpc_getrpcbyname(nss_backend_t UNUSED(*be),void *args) -- cgit v1.2.3