From 45d9d4477663635bc77a1f2253535dfb20358821 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Wed, 27 Apr 2005 23:13:11 +0000 Subject: demon's dyndns updater --- dddup.c | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 dddup.c (limited to 'dddup.c') diff --git a/dddup.c b/dddup.c new file mode 100644 index 0000000..612b9c7 --- /dev/null +++ b/dddup.c @@ -0,0 +1,70 @@ +/* $Id$ */ +/* + * Copyright (c) 2004 demon + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include +#include +#include "request.h" +#include "parse.h" +#include "version.h" + +int debug; +int verbose; + +__dead void +usage(void) +{ + extern char *__progname; + + (void) fprintf(stderr, "usage: %s [-dv] [-f config]\n", __progname); + exit(1); +} + +int +main(int argc, char **argv) +{ + struct dd_request **reqv; + char ch; + char *conffile = NULL; + int reqc; + + while ((ch = getopt(argc, argv, "f:dvh")) != -1) + switch (ch) { + case 'f': + conffile = optarg; + break; + case 'd': + debug = 1; + break; + case 'v': + verbose = 1; + break; + case 'h': + /* FALLTHROUGH */ + default: + usage(); + /* NOTREACHED */ + } + + reqv = malloc(sizeof(struct dd_request)); + if ((reqc = parse_config(conffile, reqv)) == 0) + errx(1, "Nothing to do"); + do_request(reqc, reqv); + free_config(reqc, reqv); + free(reqv); + exit(0); +} -- cgit v1.2.3