Simplify cd

This commit is contained in:
Arun Prakash Jana 2020-05-10 19:15:40 +05:30
parent cfd4a66596
commit 861d44f934
No known key found for this signature in database
GPG key ID: A75979F35C080412

View file

@ -5461,6 +5461,16 @@ nochange:
mkpath(path, dents[cur].name, newpath); mkpath(path, dents[cur].name, newpath);
DPRINTF_S(newpath); DPRINTF_S(newpath);
if (dents[cur].flags & DIR_OR_LINK_TO_DIR) {
if (chdir(newpath) == -1) {
printwarn(&presel);
goto nochange;
}
cdprep(lastdir, lastname, path, newpath) ? (presel = FILTER) : (watch = TRUE);
goto begin;
}
/* Cannot use stale data in entry, file may be missing by now */ /* Cannot use stale data in entry, file may be missing by now */
if (stat(newpath, &sb) == -1) { if (stat(newpath, &sb) == -1) {
printwarn(&presel); printwarn(&presel);
@ -5469,14 +5479,6 @@ nochange:
DPRINTF_U(sb.st_mode); DPRINTF_U(sb.st_mode);
switch (sb.st_mode & S_IFMT) { switch (sb.st_mode & S_IFMT) {
case S_IFDIR:
if (chdir(newpath) == -1) {
printwarn(&presel);
goto nochange;
}
cdprep(lastdir, lastname, path, newpath) ? (presel = FILTER) : (watch = TRUE);
goto begin;
case S_IFREG: case S_IFREG:
{ {
/* If opened as vim plugin and Enter/^M pressed, pick */ /* If opened as vim plugin and Enter/^M pressed, pick */