# HG changeset patch
# User Todd C. Miller <Todd.Miller@courtesan.com>
# Date 1406550172 21600
# Node ID 57deb66ef8ffc0f551d460e15a34f7df78f54d2a
# Parent  f547bf80c436c07ddb1c7385d22db96862ae7e4f
Fix compilation on systems w/o netgroups.

Status: upstream

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>

diff -r f547bf80c436 -r 57deb66ef8ff plugins/sudoers/match.c
--- a/plugins/sudoers/match.c	Sat Jul 26 06:07:34 2014 -0600
+++ b/plugins/sudoers/match.c	Mon Jul 28 06:22:52 2014 -0600
@@ -972,12 +972,12 @@
 	rc = true;
     else if (lhost != shost && innetgr(netgr, shost, user, domain))
 	rc = true;
-#endif /* HAVE_INNETGR */
 
     sudo_debug_printf(SUDO_DEBUG_DEBUG|SUDO_DEBUG_LINENO,
 	"netgroup %s matches (%s|%s, %s, %s): %s", netgr, lhost ? lhost : "",
 	shost ? shost : "", user ? user : "", domain ? domain : "",
 	rc ? "true" : "false");
+#endif /* HAVE_INNETGR */
 
     debug_return_bool(rc);
 }

