mirror of
https://code.blicky.net/yorhel/ncdu.git
synced 2026-01-13 01:08:41 -09:00
Removed PATH_MAX reliance in main.c
This commit is contained in:
parent
5c6f057840
commit
731bfccfb5
1 changed files with 13 additions and 16 deletions
29
src/main.c
29
src/main.c
|
|
@ -30,6 +30,7 @@
|
||||||
#include "delete.h"
|
#include "delete.h"
|
||||||
#include "browser.h"
|
#include "browser.h"
|
||||||
#include "help.h"
|
#include "help.h"
|
||||||
|
#include "path.h"
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
@ -80,14 +81,11 @@ int input_handle(int wait) {
|
||||||
|
|
||||||
|
|
||||||
/* parse command line */
|
/* parse command line */
|
||||||
void argv_parse(int argc, char **argv, char *dir) {
|
char *argv_parse(int argc, char **argv) {
|
||||||
int i, j, len;
|
int i, j, len;
|
||||||
|
char *dir = NULL;
|
||||||
|
|
||||||
/* load defaults */
|
/* read from commandline */
|
||||||
memset(dir, 0, PATH_MAX);
|
|
||||||
getcwd(dir, PATH_MAX);
|
|
||||||
|
|
||||||
/* read from commandline */
|
|
||||||
for(i=1; i<argc; i++) {
|
for(i=1; i<argc; i++) {
|
||||||
if(argv[i][0] == '-') {
|
if(argv[i][0] == '-') {
|
||||||
/* flags requiring arguments */
|
/* flags requiring arguments */
|
||||||
|
|
@ -128,24 +126,23 @@ void argv_parse(int argc, char **argv, char *dir) {
|
||||||
printf("Unknown option: -%c\nSee '%s -h' for more information.\n", argv[i][j], argv[0]);
|
printf("Unknown option: -%c\nSee '%s -h' for more information.\n", argv[i][j], argv[0]);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
} else {
|
} else
|
||||||
strncpy(dir, argv[i], PATH_MAX);
|
dir = argv[i];
|
||||||
if(dir[PATH_MAX - 1] != 0) {
|
|
||||||
printf("Error: path length exceeds PATH_MAX\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
dir[PATH_MAX - 1] = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
return dir;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* main program */
|
/* main program */
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
char dir[PATH_MAX];
|
char *dir;
|
||||||
argv_parse(argc, argv, dir);
|
|
||||||
|
if((dir = argv_parse(argc, argv)) == NULL)
|
||||||
|
dir = path_real(".");
|
||||||
|
|
||||||
calc_init(dir, NULL);
|
calc_init(dir, NULL);
|
||||||
|
if(dir < argv[0] || dir > argv[argc])
|
||||||
|
free(dir);
|
||||||
|
|
||||||
initscr();
|
initscr();
|
||||||
cbreak();
|
cbreak();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue