X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-utils%2Favahi-resolve.c;h=2dafbf07e796c4d0ad8402063074e3637effd7d1;hb=5e6703337b90bccb1713ef9cb1aa5f029d75698f;hp=f63442906087562889a55ced08ed2e00f955704b;hpb=04713ffbe7e9dbaa31e1f887152004fea2cbd7d8;p=catta diff --git a/avahi-utils/avahi-resolve.c b/avahi-utils/avahi-resolve.c index f634429..2dafbf0 100644 --- a/avahi-utils/avahi-resolve.c +++ b/avahi-utils/avahi-resolve.c @@ -48,6 +48,7 @@ #endif typedef enum { + COMMAND_UNSPEC, COMMAND_HELP, COMMAND_VERSION, COMMAND_RESOLVE_HOST_NAME, @@ -158,7 +159,7 @@ static void client_callback(AvahiClient *c, AvahiClientState state, AVAHI_GCC_UN static void help(FILE *f, const char *argv0) { fprintf(f, - "%s [options] %s \n" + "%s [options] %s \n" "%s [options] %s
\n\n" " -h --help Show this help\n" " -V --version Show version\n" @@ -166,13 +167,12 @@ static void help(FILE *f, const char *argv0) { " -a --address Resolve address\n" " -v --verbose Enable verbose mode\n" " -6 Lookup IPv6 address\n" - " -4 Lookup IPv4 address\n" - , - argv0, strstr(argv0, "address") ? "-n" : "[-n]", - argv0, strstr(argv0, "address") ? "[-a]" : "-a"); + " -4 Lookup IPv4 address\n", + argv0, strstr(argv0, "address") ? "[-a]" : "-a", + argv0, strstr(argv0, "host-name") ? "[-n]" : "-n"); } -static int parse_command_line(Config *c, int argc, char *argv[]) { +static int parse_command_line(Config *c, const char *argv0, int argc, char *argv[]) { int o; static const struct option long_options[] = { @@ -186,7 +186,7 @@ static int parse_command_line(Config *c, int argc, char *argv[]) { assert(c); - c->command = strstr(argv[0], "address") ? COMMAND_RESOLVE_ADDRESS : COMMAND_RESOLVE_HOST_NAME; + c->command = strstr(argv0, "address") ? COMMAND_RESOLVE_ADDRESS : (strstr(argv0, "host-name") ? COMMAND_RESOLVE_HOST_NAME : COMMAND_UNSPEC); c->proto = AVAHI_PROTO_UNSPEC; c->verbose = 0; @@ -241,10 +241,15 @@ int main(int argc, char *argv[]) { else argv0 = argv[0]; - if (parse_command_line(&config, argc, argv) < 0) + if (parse_command_line(&config, argv0, argc, argv) < 0) goto fail; switch (config.command) { + case COMMAND_UNSPEC: + ret = 1; + fprintf(stderr, "No command specified.\n"); + break; + case COMMAND_HELP: help(stdout, argv0); ret = 0; @@ -324,7 +329,6 @@ int main(int argc, char *argv[]) { } } - fail: if (client)