Commit Diff


commit - 9fb89ee938bf8c230172776a796eaf6967076d0f
commit + 1c6e802cf95a32d33f403105bf7cfcec03854eb6
blob - 46697de7aae0fd0cda43aec1337ee969709b7e5c
blob + 95a6297eec975a7a6358e667d39409973f8d3f73
--- rover.c
+++ rover.c
@@ -646,8 +646,11 @@ cd(int reset)
 
     message(CYAN, "Loading \"%s\"...", CWD);
     refresh();
+    if (chdir(CWD) == -1) {
+        getcwd(CWD, PATH_MAX-1);
+        goto done;
+    }
     if (reset) ESEL = SCROLL = 0;
-    chdir(CWD);
     if (rover.nfiles)
         free_rows(&rover.rows, rover.nfiles);
     rover.nfiles = ls(&rover.rows, FLAGS);
@@ -664,6 +667,7 @@ cd(int reset)
     } else
         for (i = 0; i < rover.nfiles; i++)
             MARKED(i) = 0;
+done:
     clear_message();
     update_view();
 }