Subject: strerror return value

From: Philipp Klaus Krause <[email-masked]>
Date: Wed, 14 Oct 2020 13:23:22 +0200

This is just a very minor issue.

libguile contains two calls to strerror where the result is used to
initialize a char *. However, according to the strerror specification,
the string returned by strerror should never be changed, so I think it
would be better to use const char * instead.

Philipp
diff --git a/libguile/posix.c b/libguile/posix.c
index 47769003a..5c7bb35bd 100644
--- a/libguile/posix.c
+++ b/libguile/posix.c
@@ -1272,7 +1272,7 @@ renumber_file_descriptor (int fd, int err)
     {
       /* At this point we are in the child process before exec.  We
          cannot safely raise an exception in this environment.  */
-      char *msg = strerror (errno);
+      const char *msg = strerror (errno);
       fprintf (fdopen (err, "a"), "start_child: dup failed: %s\n", msg);
       _exit (127);  /* Use exit status 127, as with other exec errors. */
     }
@@ -1356,7 +1356,7 @@ start_child (const char *exec_file, char **exec_argv,
 
   /* The exec failed!  There is nothing sensible to do.  */
   {
-    char *msg = strerror (errno);
+    const char *msg = strerror (errno);
     fprintf (fdopen (2, "a"), "In execvp of %s: %s\n",
              exec_file, msg);
   }