simplify, also dont call cleanup twice on sigterm - sob - simple output bar
 (HTM) git clone git://git.codemadness.org/sob
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit c336d9a1b5bc4763a15b91c40b92f5c951dca2fd
 (DIR) parent 78f53b2adb9100baf25a415db34884dc11c82d6d
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Fri, 24 Oct 2014 22:30:38 +0000
       
       simplify, also dont call cleanup twice on sigterm
       
       Diffstat:
         M sob.c                               |      17 ++++-------------
       
       1 file changed, 4 insertions(+), 13 deletions(-)
       ---
 (DIR) diff --git a/sob.c b/sob.c
       @@ -66,7 +66,6 @@ static int    pipe_read(int, int, char *,
        static int    pipe_cmd(char *[], char *,
                               void (*)(const char *, size_t, size_t));
        
       -static void   cleanup(void);
        static void   clear(void);
        static void   gettermsize(void);
        static void   handleinput(const unsigned char *, size_t);
       @@ -742,7 +741,6 @@ sighandler(int signum)
                switch(signum) {
                case SIGTERM:
                        isrunning = 0;
       -                cleanup();
                        break;
                case SIGWINCH:
                        clear();
       @@ -786,14 +784,6 @@ resize(void)
        }
        
        static void
       -cleanup(void)
       -{
       -        ttystate.c_lflag = ttysave.c_lflag;
       -        /* set the terminal attributes. */
       -        tcsetattr(STDIN_FILENO, TCSANOW, &ttystate);
       -}
       -
       -static void
        handleinput(const unsigned char *input, size_t len)
        {
                size_t p = 0, keylen, i;
       @@ -956,12 +946,13 @@ main(int argc, char **argv)
                        /* setup tty again because we (re)open "/dev/tty" */
                        setup();
                }
       -
                /* clear screen */
                clear();
       -
                run();
       -        cleanup();
       +
       +        /* cleanup: restore terminal attributes. */
       +        ttystate.c_lflag = ttysave.c_lflag;
       +        tcsetattr(STDIN_FILENO, TCSANOW, &ttystate);
        
                return EXIT_SUCCESS;
        }