mirror of
https://github.com/jarun/nnn.git
synced 2024-11-24 11:51:27 +00:00
Fix #285
This commit is contained in:
parent
33e8c931f1
commit
4679daa761
14
src/nnn.c
14
src/nnn.c
|
@ -213,7 +213,7 @@ typedef struct {
|
||||||
uint copymode : 1; /* Set when copying files */
|
uint copymode : 1; /* Set when copying files */
|
||||||
uint showdetail : 1; /* Clear to show fewer file info */
|
uint showdetail : 1; /* Clear to show fewer file info */
|
||||||
uint ctxactive : 1; /* Context active or not */
|
uint ctxactive : 1; /* Context active or not */
|
||||||
uint reserved : 8;
|
uint reserved : 7;
|
||||||
/* The following settings are global */
|
/* The following settings are global */
|
||||||
uint curctx : 2; /* Current context number */
|
uint curctx : 2; /* Current context number */
|
||||||
uint dircolor : 1; /* Current status of dir color */
|
uint dircolor : 1; /* Current status of dir color */
|
||||||
|
@ -228,6 +228,7 @@ typedef struct {
|
||||||
uint filter_re : 1; /* Use regex filters */
|
uint filter_re : 1; /* Use regex filters */
|
||||||
uint wild : 1; /* Do not sort entries on dir load */
|
uint wild : 1; /* Do not sort entries on dir load */
|
||||||
uint trash : 1; /* Move removed files to trash */
|
uint trash : 1; /* Move removed files to trash */
|
||||||
|
uint badexit : 1; /* Program quit due to dir removed or moved */
|
||||||
} settings;
|
} settings;
|
||||||
|
|
||||||
/* Contexts or workspaces */
|
/* Contexts or workspaces */
|
||||||
|
@ -267,6 +268,7 @@ static settings cfg = {
|
||||||
1, /* filter_re */
|
1, /* filter_re */
|
||||||
0, /* wild */
|
0, /* wild */
|
||||||
0, /* trash */
|
0, /* trash */
|
||||||
|
0, /* badexit */
|
||||||
};
|
};
|
||||||
|
|
||||||
static context g_ctx[CTX_MAX] __attribute__ ((aligned));
|
static context g_ctx[CTX_MAX] __attribute__ ((aligned));
|
||||||
|
@ -3241,8 +3243,11 @@ nochange:
|
||||||
_exit(0);
|
_exit(0);
|
||||||
|
|
||||||
/* Check if CWD is deleted to avoid hang, bad idea */
|
/* Check if CWD is deleted to avoid hang, bad idea */
|
||||||
//if (access(path, F_OK))
|
if (access(path, F_OK)) {
|
||||||
// return;
|
DPRINTF_S("dir deleted or moved");
|
||||||
|
cfg.badexit = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
sel = nextsel(presel);
|
sel = nextsel(presel);
|
||||||
if (presel)
|
if (presel)
|
||||||
|
@ -4692,6 +4697,9 @@ int main(int argc, char *argv[])
|
||||||
browse(initpath);
|
browse(initpath);
|
||||||
exitcurses();
|
exitcurses();
|
||||||
|
|
||||||
|
if (cfg.badexit)
|
||||||
|
xerror();
|
||||||
|
|
||||||
#ifndef NORL
|
#ifndef NORL
|
||||||
write_history(NULL);
|
write_history(NULL);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue