diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2015-08-05 15:46:40 -0700 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2015-08-05 15:46:40 -0700 |
| commit | 1d554f3161e7bcf76a180c9280a53cd0f5927591 (patch) | |
| tree | f89aa7adadee316aab00a2018040cee3dc1c418b /src | |
| parent | 50f0ed918c4f5c70685752188b6a3853fc7205b9 (diff) | |
| download | zig-1d554f3161e7bcf76a180c9280a53cd0f5927591.tar.gz zig-1d554f3161e7bcf76a180c9280a53cd0f5927591.zip | |
input output
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.c | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/src/main.c b/src/main.c index e6173ef043..b54205ce3f 100644 --- a/src/main.c +++ b/src/main.c @@ -1,5 +1,46 @@ +#include "config.h" #include <stdio.h> +#include <string.h> +#include <stdlib.h> + +static int usage(char *arg0) { + fprintf(stderr, "Usage: %s --output outfile code.zig\n" + "Other options:\n" + "--version print version number and exit\n" + , arg0); + return EXIT_FAILURE; +} int main(int argc, char **argv) { - return 0; + char *arg0 = argv[0]; + char *in_file = NULL; + char *out_file = NULL; + for (int i = 1; i < argc; i += 1) { + char *arg = argv[i]; + if (arg[0] == '-' && arg[1] == '-') { + if (strcmp(arg, "--version") == 0) { + printf("%s\n", ZIG_VERSION_STRING); + return EXIT_SUCCESS; + } else if (i + 1 >= argc) { + return usage(arg0); + } else { + i += 1; + if (strcmp(arg, "--output") == 0) { + out_file = argv[i]; + } else { + return usage(arg0); + } + } + } else if (!in_file) { + in_file = arg; + } else { + return usage(arg0); + } + } + + if (!in_file || !out_file) + return usage(arg0); + + fprintf(stderr, "in: %s out: %s\n", in_file, out_file); + return EXIT_SUCCESS; } |
