fork/exec: debug.
authorJan Nieuwenhuizen <janneke@gnu.org>
Fri, 25 May 2018 09:21:06 +0000 (11:21 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Fri, 25 May 2018 09:21:06 +0000 (11:21 +0200)
src/posix.c

index 41772f6037c5c54400b42283f2d41701cc573dd0..267f4d83ec07587d9c3a2b0a096446752e4e9a5b 100644 (file)
@@ -138,7 +138,7 @@ write_byte (SCM x) ///((arity . n))
   return c;
 }
 
-char string_to_cstring_buf[1024];
+char string_to_cstring_buf[4096];
 char const*
 string_to_cstring_ (SCM s, char *buf)
 {
@@ -270,8 +270,9 @@ primitive_fork ()
 SCM
 execl_ (SCM file_name, SCM args) ///((name . "execl"))
 {
-  char *c_argv[10];
+  char *c_argv[100];
   int i = 0;
+  eputs ("core:execl file_name="); write_error_ (file_name); eputs ("\n");
   int n = 0;
   c_argv[i++] = string_to_cstring_ (file_name, string_to_cstring_buf+n);
   n += length__ (STRING (file_name)) + 1;
@@ -284,6 +285,11 @@ execl_ (SCM file_name, SCM args) ///((name . "execl"))
       args = CDR (args);
     }
   c_argv[i] = 0;
+  i = 0;
+  while (c_argv[i])
+    {
+      eputs ("  argv["); eputs (itoa (i)); eputs ("]: "); eputs (c_argv[i++]); eputs ("\n");
+    }
   return MAKE_NUMBER (execve (c_argv[0], c_argv, g_environment));
 }