Add error message when child exits whit error - st - Simple Terminal
       
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit ec3268961d1dc4072f6caa6f97db5436da2ff411
 (DIR) parent 769d48180747c3255653360d161c77ec2a2e8d13
 (HTM) Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
       Date:   Mon,  4 Aug 2014 22:07:04 +0200
       
       Add error message when child exits whit error
       
       Master proccess was not showing any error message when the child
       died with an error, and it was very confusing for the user (for
       example with incorrect -e command).
       
       Diffstat:
         st.c                                |      11 +++++------
       
       1 file changed, 5 insertions(+), 6 deletions(-)
       ---
 (DIR) diff --git a/st.c b/st.c
       @@ -1176,16 +1176,15 @@ execsh(void) {
        
        void
        sigchld(int a) {
       -        int stat = 0;
       +        int stat, ret;
        
                if(waitpid(pid, &stat, 0) < 0)
                        die("Waiting for pid %hd failed: %s\n", pid, strerror(errno));
        
       -        if(WIFEXITED(stat)) {
       -                exit(WEXITSTATUS(stat));
       -        } else {
       -                exit(EXIT_FAILURE);
       -        }
       +        ret = WIFEXITED(stat) ? WEXITSTATUS(stat) : EXIT_FAILURE;
       +        if (ret != EXIT_SUCCESS)
       +                die("child finished with error '%d'\n", stat);
       +        exit(EXIT_SUCCESS);
        }
        
        void