]> git.meshlink.io Git - catta/blobdiff - avahi-utils/avahi-resolve.c
Fix compilation with -pthread
[catta] / avahi-utils / avahi-resolve.c
index f63442906087562889a55ced08ed2e00f955704b..2dafbf07e796c4d0ad8402063074e3637effd7d1 100644 (file)
@@ -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 <name ...>\n"
+            "%s [options] %s <host name ...>\n"
             "%s [options] %s <address ... >\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)