Get rid of rundir

This commit is contained in:
Arun Prakash Jana 2022-05-29 22:32:54 +05:30
parent 4337214f50
commit d618922177
No known key found for this signature in database
GPG key ID: A75979F35C080412

View file

@ -6600,7 +6600,6 @@ static bool cdprep(char *lastdir, char *lastname, char *path, char *newpath)
static bool browse(char *ipath, const char *session, int pkey) static bool browse(char *ipath, const char *session, int pkey)
{ {
char newpath[PATH_MAX] __attribute__ ((aligned)), char newpath[PATH_MAX] __attribute__ ((aligned)),
rundir[PATH_MAX] __attribute__ ((aligned)),
runfile[NAME_MAX + 1] __attribute__ ((aligned)); runfile[NAME_MAX + 1] __attribute__ ((aligned));
char *path, *lastdir, *lastname, *dir, *tmp; char *path, *lastdir, *lastname, *dir, *tmp;
pEntry pent; pEntry pent;
@ -6653,7 +6652,7 @@ static bool browse(char *ipath, const char *session, int pkey)
} }
#endif #endif
newpath[0] = rundir[0] = runfile[0] = '\0'; newpath[0] = runfile[0] = '\0';
presel = pkey ? ';' : ((cfg.filtermode presel = pkey ? ';' : ((cfg.filtermode
|| (session && (g_ctx[cfg.curctx].c_fltr[0] == FILTER || (session && (g_ctx[cfg.curctx].c_fltr[0] == FILTER
@ -6956,8 +6955,7 @@ nochange:
if ((g_state.runctx == cfg.curctx) && !strcmp(path, plgpath)) { if ((g_state.runctx == cfg.curctx) && !strcmp(path, plgpath)) {
endselection(FALSE); endselection(FALSE);
/* Copy path so we can return back to earlier dir */ /* Copy path so we can return back to earlier dir */
xstrsncpy(path, rundir, PATH_MAX); xstrsncpy(path, lastdir, PATH_MAX);
rundir[0] = '\0';
clearfilter(); clearfilter();
if (chdir(path) == -1 if (chdir(path) == -1
@ -7760,15 +7758,15 @@ nochange:
} }
} else { /* 'Return/Enter' enters the plugin directory */ } else { /* 'Return/Enter' enters the plugin directory */
g_state.runplugin ^= 1; g_state.runplugin ^= 1;
if (!g_state.runplugin && rundir[0]) { if (!g_state.runplugin) {
/* /*
* If toggled, and still in the plugin dir, * If toggled, and still in the plugin dir,
* switch to original directory * switch to original directory
*/ */
if (strcmp(path, plgpath) == 0) { if (strcmp(path, plgpath) == 0) {
xstrsncpy(path, rundir, PATH_MAX); xstrsncpy(path, lastdir, PATH_MAX);
xstrsncpy(lastname, runfile, NAME_MAX + 1); xstrsncpy(lastname, runfile, NAME_MAX + 1);
rundir[0] = runfile[0] = '\0'; runfile[0] = '\0';
setdirwatch(); setdirwatch();
goto begin; goto begin;
} }
@ -7778,7 +7776,6 @@ nochange:
} }
xstrsncpy(lastdir, path, PATH_MAX); xstrsncpy(lastdir, path, PATH_MAX);
xstrsncpy(rundir, path, PATH_MAX);
xstrsncpy(path, plgpath, PATH_MAX); xstrsncpy(path, plgpath, PATH_MAX);
if (ndents) if (ndents)
xstrsncpy(runfile, pdents[cur].name, NAME_MAX); xstrsncpy(runfile, pdents[cur].name, NAME_MAX);