]> Sergey Matveev's repositories - nnn.git/commitdiff
Fix readline() call sequence
authorArun Prakash Jana <engineerarun@gmail.com>
Sat, 13 Apr 2019 15:18:18 +0000 (20:48 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Sat, 13 Apr 2019 15:18:18 +0000 (20:48 +0530)
src/nnn.c

index a11d13c64bbe713c956d830762c195faffc344b8..429ee8cf066a98109834cffa45399bc87e30c522 100644 (file)
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -3822,33 +3822,31 @@ nochange:
                                                spawn(shell, "-c", tmp, path, F_CLI);
 #ifndef NORL
                                } else {
-                                       exitcurses();
-
                                        /* Switch to current path for readline(3) */
                                        if (chdir(path) == -1) {
                                                printwarn();
                                                goto nochange;
                                        }
 
+                                       exitcurses();
+
                                        tmp = readline("nnn> ");
 
+                                       refresh();
+
                                        if (chdir(ipath) == -1) {
                                                printwarn();
-                                               if (tmp)
-                                                       free(tmp);
+                                               free(tmp);
                                                goto nochange;
                                        }
 
-                                       refresh();
-
                                        if (tmp && tmp[0]) {
                                                spawn(shell, "-c", tmp, path, F_CLI);
                                                /* readline finishing touches */
                                                add_history(tmp);
                                        }
 
-                                       if (tmp)
-                                               free(tmp);
+                                       free(tmp);
                                }
 #endif
                        }