From 1d554f3161e7bcf76a180c9280a53cd0f5927591 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 5 Aug 2015 15:46:40 -0700 Subject: input output --- src/main.c | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) (limited to 'src') 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 +#include +#include + +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; } -- cgit v1.2.3