commit - ada8fba9d4d06258c33e28a6f9eb254048f87b30
commit + 47e9f26dc7f2262feabce3a38a7b7b83b9122170
blob - ce7145530fb3e775a2ca5f6da5be8f247c2c345e
blob + e1280ca38e76f9b12933786fe6f09a2b7cc1d116
--- rover.c
+++ rover.c
int nfiles;
int scroll[10];
int fsel[10];
- uint8_t flags;
+ uint8_t flags[10];
row_t *rows;
WINDOW *window;
char cwd[10][FILENAME_MAX];
#define FSIZE(I) rover.rows[I].size
#define SCROLL rover.scroll[rover.tab]
#define FSEL rover.fsel[rover.tab]
+#define FLAGS rover.flags[rover.tab]
#define CWD rover.cwd[rover.tab]
static int
wcolor_set(rover.window, DEFAULT, NULL);
}
wrefresh(rover.window);
- STATUS[0] = rover.flags & SHOW_FILES ? 'F' : ' ';
- STATUS[1] = rover.flags & SHOW_DIRS ? 'D' : ' ';
- STATUS[2] = rover.flags & SHOW_HIDDEN ? 'H' : ' ';
+ STATUS[0] = FLAGS & SHOW_FILES ? 'F' : ' ';
+ STATUS[1] = FLAGS & SHOW_DIRS ? 'D' : ' ';
+ STATUS[2] = FLAGS & SHOW_HIDDEN ? 'H' : ' ';
if (!rover.nfiles)
strcpy(ROW, "0/0");
else
attr_off(A_BOLD, NULL);
if (rover.nfiles)
free_rows(&rover.rows, rover.nfiles);
- rover.nfiles = ls(CWD, &rover.rows, rover.flags);
+ rover.nfiles = ls(CWD, &rover.rows, FLAGS);
(void) wclear(rover.window);
wcolor_set(rover.window, RVC_BORDER, NULL);
wborder(rover.window, 0, 0, 0, 0, 0, 0, 0, 0);
init_term();
/* Avoid invalid free() calls in cd() by zeroing the tally. */
rover.nfiles = 0;
- rover.flags = SHOW_FILES | SHOW_DIRS;
+ for (i = 0; i < 10; i++) {
+ rover.fsel[i] = rover.scroll[i] = 0;
+ rover.flags[i] = SHOW_FILES | SHOW_DIRS;
+ }
strcpy(rover.cwd[0], getenv("HOME"));
if (rover.cwd[0][strlen(rover.cwd[0]) - 1] != '/')
strcat(rover.cwd[0], "/");
first = dirname[0];
dirname[0] = '\0';
cd(1);
- if ((rover.flags & SHOW_DIRS) &&
- ((rover.flags & SHOW_HIDDEN) || (first != '.'))
+ if ((FLAGS & SHOW_DIRS) &&
+ ((FLAGS & SHOW_HIDDEN) || (first != '.'))
) {
dirname[0] = first;
dirname[strlen(dirname)] = '/';
update_browser();
}
else if (!strcmp(key, RVK_TG_FILES)) {
- rover.flags ^= SHOW_FILES;
+ FLAGS ^= SHOW_FILES;
cd(1);
}
else if (!strcmp(key, RVK_TG_DIRS)) {
- rover.flags ^= SHOW_DIRS;
+ FLAGS ^= SHOW_DIRS;
cd(1);
}
else if (!strcmp(key, RVK_TG_HIDDEN)) {
- rover.flags ^= SHOW_HIDDEN;
+ FLAGS ^= SHOW_HIDDEN;
cd(1);
}
}