Fix build when HAVE_LIBCAPNG is not defined.
authorRussell Bryant <rbryant@redhat.com>
Thu, 1 Oct 2015 15:29:16 +0000 (11:29 -0400)
committerBen Pfaff <blp@nicira.com>
Thu, 1 Oct 2015 15:48:50 +0000 (08:48 -0700)
The function daemon_become_new_user_linux was conditionally defined but
then used in code unconditionally.  If HAVE_LIBCAPNG is not defined, the
function would never be called, but it still must exist.

Adjust the #if guard around the function to be around the body of the
function instead of outside of its definition to ensure the function is
always defined, even if empty.

This issue was introduced in e91b927d8966bfcb9768225392324dde4fd7d7f6.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/daemon-unix.c

index 6438061..868e2c9 100644 (file)
@@ -804,10 +804,10 @@ daemon_become_new_user_unix(void)
 
 /* Linux specific implementation of daemon_become_new_user()
  * using libcap-ng.   */
-#if defined __linux__ &&  HAVE_LIBCAPNG
 static void
-daemon_become_new_user_linux(bool access_datapath)
+daemon_become_new_user_linux(bool access_datapath OVS_UNUSED)
 {
+#if defined __linux__ &&  HAVE_LIBCAPNG
     int ret;
 
     ret = capng_get_caps_process();
@@ -847,8 +847,8 @@ daemon_become_new_user_linux(bool access_datapath)
         VLOG_FATAL("%s: libcap-ng fail to switch to user and group "
                    "%d:%d, aborting", pidfile, uid, gid);
     }
-}
 #endif
+}
 
 static void
 daemon_become_new_user__(bool access_datapath)