]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - main.c
Indentation
[xonotic/gmqcc.git] / main.c
diff --git a/main.c b/main.c
index 52413ca084608d2b64a7eb1bb4f8d6f7b047c579..754a165791d3b62d97e2824e00e5ca78e5b2a080 100644 (file)
--- a/main.c
+++ b/main.c
 #include <stdlib.h>
 #include <string.h>
 #include <limits.h>
-#include "gmqcc.h"
-
-int usage(const char *name) {
-       printf("Usage: %s -f infile -o outfile\n", name);
-       return 0;
-}
+#include  "gmqcc.h"
 int main(int argc, char **argv) {
-       const char *ofile = NULL;
-       const char *ifile = NULL;
-       int i;
-       if (argc <= 2) {
-               return usage(*argv);
-       }
-               
-       for (i=0; i < argc; i++) {
-               if (argc != i + 1) {
-                       switch(argv[i][0]) {
-                               case '-':
-                                       switch(argv[i][1]) {
-                                               case 'f': ifile = argv[i+1]; break;
-                                               case 'o': ofile = argv[i+1]; break;
-                                       }
-                                       break;
-                       }
-               }
-       }
-       
-       if (!ofile || !ifile) {
-               return usage(*argv);
-       }
-       
-       printf("ifile: %s\n", ifile);
-       printf("ofile: %s\n", ofile);
+       argc--;
+       argv++;
        
+       const char *ifile = argv[0];
        
-       /* Open file */
        FILE *fp = fopen(ifile, "r");
        if  (!fp) {
                fclose(fp);
                return error(ERROR_COMPILER, "Source file: %s not found\n", ifile);
        } else {
                struct lex_file *lex = lex_open(fp);
-               parse_tree(lex); /* generate parse tree */
-               lex_close (lex); /* cleanup  lexer      */
+               lex->name = util_strdup(ifile);
+               if (!lex) {
+                       fclose(fp);
+                       return 0;
+               }
+               parse_tree(lex);
+               mem_d(lex->name);
+               lex_close (lex);
        }
+       
+       code_write();
        return 0;
 }