]> mj.ucw.cz Git - libucw.git/blobdiff - ucw/exitstatus.c
Heap: Interface cleanup
[libucw.git] / ucw / exitstatus.c
index 4c04d49c69a2c7f944485ab883974580e63207f7..7ce1ff5ac7ec17023a3912aa933ff8adea6f9cd0 100644 (file)
@@ -1,13 +1,15 @@
 /*
  *     UCW Library -- Formatting of Process Exit Status
  *
- *     (c) 2004 Martin Mares <mj@ucw.cz>
+ *     (c) 2004--2012 Martin Mares <mj@ucw.cz>
  *
  *     This software may be freely distributed and used according to the terms
  *     of the GNU Lesser General Public License.
  */
 
-#include "ucw/lib.h"
+#include <ucw/lib.h>
+#include <ucw/process.h>
+#include <ucw/signames.h>
 
 #include <stdio.h>
 #include <sys/wait.h>
@@ -29,7 +31,11 @@ format_exit_status(char *msg, int stat)
        }
     }
   else if (WIFSIGNALED(stat))
-    sprintf(msg, "died on signal %d", WTERMSIG(stat));
+    {
+      int sig = WTERMSIG(stat);
+      const char *sn = sig_number_to_name(sig);
+      sprintf(msg, "died on signal %d (%s)", sig, (sn ? : "unknown"));
+    }
   else
     sprintf(msg, "died with status %x", stat);
   return 1;