about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWill Dietz <w@wdtz.org>2018-03-20T18·29-0500
committerWill Dietz <w@wdtz.org>2018-03-20T18·31-0500
commit02d36fdab7415cd57dc09ca36f20e195977b7641 (patch)
treefb150aa1bd4e96916bc6f129267b6e26275cc3d2
parentbed22114bf9c91077ac4d4ff7bb7084d94567383 (diff)
execl: cast NULL sentinel to (char *), per man page and compiler warning
From exec(3):

> The list of arguments must be terminated by a null pointer, and, since these
> are variadic functions, this pointer must be cast (char *) NULL
-rw-r--r--src/libmain/shared.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc
index 7d888202bbf1..1445c8f0301a 100644
--- a/src/libmain/shared.cc
+++ b/src/libmain/shared.cc
@@ -263,7 +263,7 @@ void showManPage(const string & name)
 {
     restoreSignals();
     setenv("MANPATH", settings.nixManDir.c_str(), 1);
-    execlp("man", "man", name.c_str(), NULL);
+    execlp("man", "man", name.c_str(), (char *)NULL);
     throw SysError(format("command 'man %1%' failed") % name.c_str());
 }
 
@@ -325,10 +325,10 @@ RunPager::RunPager()
             setenv("LESS", "FRSXMK", 1);
         restoreSignals();
         if (pager)
-            execl("/bin/sh", "sh", "-c", pager, NULL);
-        execlp("pager", "pager", NULL);
-        execlp("less", "less", NULL);
-        execlp("more", "more", NULL);
+            execl("/bin/sh", "sh", "-c", pager, (char *)NULL);
+        execlp("pager", "pager", (char *)NULL);
+        execlp("less", "less", (char *)NULL);
+        execlp("more", "more", (char *)NULL);
         throw SysError(format("executing '%1%'") % pager);
     });