]> git.sur5r.net Git - ngadmin/commitdiff
Cli: fix crash when interrupting an automatic login attempt
authordarkcoven <admin@darkcoven.tk>
Sun, 6 Oct 2013 10:58:03 +0000 (12:58 +0200)
committerdarkcoven <admin@darkcoven.tk>
Sun, 6 Oct 2013 10:58:03 +0000 (12:58 +0200)
cli/admin.c

index f5b691b305fd555e9ec0054fc3f08c401e0918fc..40f5431ba8df0a95eb9af189cd2483888f02e9ff 100644 (file)
@@ -15,8 +15,6 @@
 #define MAXCOM 32
 
 
-int main_loop_continue = 1;
-
 
 static const struct TreeNode* getSubCom (char **com, int n, int *t)
 {
@@ -107,6 +105,7 @@ static char** my_completion (const char *text, int start, int end UNUSED)
 }
 
 
+int main_loop_continue;
 static struct ngadmin *nga;
 static sigjmp_buf jmpbuf;
 static struct termios orig_term;
@@ -125,7 +124,7 @@ NORET static void handler (int sig)
                current_term.c_lflag |= ECHO;
                tcsetattr(STDIN_FILENO, TCSANOW, &current_term);
                
-               if (!batch)
+               if (!batch && main_loop_continue)
                        siglongjmp(jmpbuf, 1);
        
        default:
@@ -331,6 +330,7 @@ int main (int argc, char **argv)
                sigsetjmp(jmpbuf, 1);
        }
        
+       main_loop_continue = 1;
        while (main_loop_continue) {
                /* read user input */
                line = NULL;