From 48a032d12f3b81c0b2785dab7d61807cfaaf8b71 Mon Sep 17 00:00:00 2001 From: "sgunderson@bigfoot.com" <> Date: Wed, 31 Jan 2007 18:20:22 +0100 Subject: [PATCH] Start parsing options. --- jam.c | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/jam.c b/jam.c index b4330f7..9f9a10d 100644 --- a/jam.c +++ b/jam.c @@ -1,10 +1,40 @@ #include #include +#include #include #include #include #include +const static struct option longopts[] = { + { "destination-file", required_argument, NULL, 'd' }, + { NULL, 0, NULL, 0 } +}; + +void read_destination_list(char *filename) +{ + +} + +void parse_options(int argc, char **argv) +{ + int option_index = 0; + + for ( ;; ) { + int c = getopt_long(argc, argv, "d:", longopts, &option_index); + switch (c) { + case 'd': + read_destination_list(optarg); + break; + case -1: + return; // end of argument list + default: + fprintf(stderr, "Invalid option\n"); + exit(1); + } + } +} + void *receiver_worker(void *arg) { int sock = (int)arg; @@ -64,9 +94,12 @@ int get_server_socket(unsigned short port) return server_sock; } -int main() +int main(int argc, char **argv) { - int server_sock = get_server_socket(2007); + int server_sock; + + parse_options(argc, argv); + server_sock = get_server_socket(2007); // FIXME: fire off sender workers here -- 2.39.2