Renamed parseCli() and added argument for root dir

This commit is contained in:
Yorhel 2009-04-08 19:40:18 +02:00
parent a0252cb0f2
commit 02705d2c7f
2 changed files with 18 additions and 12 deletions

View file

@ -28,18 +28,18 @@
/* check ncdu.h what these are for */ /* check ncdu.h what these are for */
struct dir *dat; struct dir *dat;
int winrows, wincols; int winrows, wincols;
char sdir[PATH_MAX];
int sflags, bflags, sdelay, bgraph; int sflags, bflags, sdelay, bgraph;
int subwinc, subwinr; int subwinc, subwinr;
struct state pstate;
/* parse command line */ /* parse command line */
void parseCli(int argc, char **argv) { void argv_parse(int argc, char **argv, char *dir) {
int i, j; int i, j;
/* load defaults */ /* load defaults */
memset(sdir, 0, PATH_MAX); memset(dir, 0, PATH_MAX);
getcwd(sdir, PATH_MAX); getcwd(dir, PATH_MAX);
sflags = 0; sflags = 0;
sdelay = 100; sdelay = 100;
bflags = BF_SIZE | BF_DESC; bflags = BF_SIZE | BF_DESC;
@ -85,9 +85,9 @@ void parseCli(int argc, char **argv) {
exit(1); exit(1);
} }
} else { } else {
sdir[PATH_MAX - 1] = 0; dir[PATH_MAX - 1] = 0;
strncpy(sdir, argv[i], PATH_MAX); strncpy(dir, argv[i], PATH_MAX);
if(sdir[PATH_MAX - 1] != 0) { if(dir[PATH_MAX - 1] != 0) {
printf("Error: path length exceeds PATH_MAX\n"); printf("Error: path length exceeds PATH_MAX\n");
exit(1); exit(1);
} }
@ -100,7 +100,8 @@ void parseCli(int argc, char **argv) {
int main(int argc, char **argv) { int main(int argc, char **argv) {
dat = NULL; dat = NULL;
parseCli(argc, argv); argv_parse(argc, argv, pstate.calc.root);
pstate.st = ST_CALC;
initscr(); initscr();
cbreak(); cbreak();
@ -108,14 +109,14 @@ int main(int argc, char **argv) {
curs_set(0); curs_set(0);
keypad(stdscr, TRUE); keypad(stdscr, TRUE);
ncresize(); ncresize();
if((dat = showCalc(sdir)) != NULL) if((dat = showCalc(pstate.calc.root)) != NULL)
showBrowser(); showBrowser();
erase(); erase();
refresh(); refresh();
endwin(); endwin();
return(0); return 0;
} }

View file

@ -137,7 +137,10 @@ struct dir {
struct state { struct state {
int st; /* SC_x */ int st; /* SC_x */
/* TODO: information structs for the states */ struct {
char root[PATH_MAX];
} calc;
/* TODO: information structs for the other states */
}; };
@ -156,6 +159,8 @@ extern char sdir[PATH_MAX];
extern int sflags, bflags, sdelay, bgraph; extern int sflags, bflags, sdelay, bgraph;
/* used for creating windows */ /* used for creating windows */
extern int subwinr, subwinc; extern int subwinr, subwinc;
/* program state */
extern struct state pstate;
/* /*