svn commit: samba r25873 - in branches/SAMBA_4_0/source/lib/nss_wrapper: .

metze at samba.org metze at samba.org
Tue Nov 6 12:34:50 GMT 2007


Author: metze
Date: 2007-11-06 12:34:50 +0000 (Tue, 06 Nov 2007)
New Revision: 25873

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25873

Log:
nss_wrapper: hopefully a better fix for the solaris get*ent_r functions

metze
Modified:
   branches/SAMBA_4_0/source/lib/nss_wrapper/nss_wrapper.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/nss_wrapper/nss_wrapper.c
===================================================================
--- branches/SAMBA_4_0/source/lib/nss_wrapper/nss_wrapper.c	2007-11-06 12:15:19 UTC (rev 25872)
+++ branches/SAMBA_4_0/source/lib/nss_wrapper/nss_wrapper.c	2007-11-06 12:34:50 UTC (rev 25873)
@@ -906,7 +906,21 @@
 	struct passwd *pw;
 
 	if (!nwrap_enabled()) {
+#ifdef SOLARIS_GETPWENT_R
+		pw = real_getpwent_r(pwdst, buf, buflen);
+		if (!pw) {
+			if (errno == 0) {
+				return ENOENT;
+			}
+			return errno;
+		}
+		if (pwdstp) {
+			*pwdstp = pw;
+		}
+		return 0;
+#else
 		return real_getpwent_r(pwdst, buf, buflen, pwdstp);
+#endif
 	}
 
 	pw = nwrap_getpwent();
@@ -1078,7 +1092,21 @@
 	struct group *gr;
 
 	if (!nwrap_enabled()) {
+#ifdef SOLARIS_GETGRENT_R
+		gr = real_getgrent_r(grdst, buf, buflen);
+		if (!gr) {
+			if (errno == 0) {
+				return ENOENT;
+			}
+			return errno;
+		}
+		if (grdstp) {
+			*grdstp = gr;
+		}
+		return 0;
+#else
 		return real_getgrent_r(grdst, buf, buflen, grdstp);
+#endif
 	}
 
 	gr = nwrap_getgrent();



More information about the samba-cvs mailing list