foo
[visor] / visor / src / main_unix.c
1 #include <stdio.h>
2 #include "term.h"
3
4 static int parse_args(int argc, char **argv);
5 static int init(void);
6 static void cleanup(void);
7
8 static int num_fpaths;
9 static char **fpaths;
10
11 int main(int argc, char **argv)
12 {
13         if(parse_args(argc, argv) == -1) {
14                 return 1;
15         }
16         if(init() == -1) {
17                 return 1;
18         }
19
20         for(;;) {
21                 int c = term_getchar();
22
23                 switch(c) {
24                 case 27:
25                 case 'q':
26                         goto end;
27                 }
28         }
29 end:
30
31         cleanup();
32         return 0;
33 }
34
35 static int parse_args(int argc, char **argv)
36 {
37         int i;
38
39         fpaths = argv + 1;
40         num_fpaths = 0;
41         for(i=1; i<argc; i++) {
42                 if(argv[i][0] == '-') {
43                         fprintf(stderr, "invalid option: %s\n", argv[i]);
44                         return -1;
45                 } else {
46                         argv[++num_fpaths] = argv[i];
47                 }
48         }
49         return 0;
50 }
51
52 static int init(void)
53 {
54         int i;
55
56         if(term_init(0) == -1) {
57                 return -1;
58         }
59         term_clear();
60
61         for(i=0; i<num_fpaths; i++) {
62                 /* open fpaths[i] */
63         }
64         return 0;
65 }
66
67 static void cleanup(void)
68 {
69         term_cleanup();
70 }