/* Global context */
struct entry *dents;
int ndents, cur;
-char path[PATH_MAX], oldpath[PATH_MAX];
-char fltr[LINE_MAX];
int idle;
/*
}
int
-populate(void)
+populate(char *path, char *oldpath, char *fltr)
{
regex_t re;
int r;
}
void
-redraw(void)
+redraw(char *path)
{
char cwd[PATH_MAX], cwdresolved[PATH_MAX];
size_t ncols;
void
browse(char *ipath, char *ifilter)
{
- char newpath[PATH_MAX];
+ char path[PATH_MAX], oldpath[PATH_MAX], newpath[PATH_MAX];
+ char fltr[LINE_MAX];
char *bin, *dir, *tmp, *run, *env;
struct stat sb;
regex_t re;
strlcpy(path, ipath, sizeof(path));
strlcpy(fltr, ifilter, sizeof(fltr));
+ oldpath[0] = '\0';
begin:
- r = populate();
+ r = populate(path, oldpath, fltr);
if (r == -1) {
printwarn();
goto nochange;
}
for (;;) {
- redraw();
+ redraw(path);
nochange:
switch (nextsel(&run, &env)) {
case SEL_QUIT: