X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-utils%2Favahi-publish.c;h=4e751763196ccbb3e5b9ec092359e0c486287879;hb=5b3c40ea55bf198f711d257588fe879203897337;hp=e0dea9f712551b67b17b8fe9155de5f782a7257f;hpb=93ac6c737b2566e76162ad70c35c0167de82c76b;p=catta diff --git a/avahi-utils/avahi-publish.c b/avahi-utils/avahi-publish.c index e0dea9f..4e75176 100644 --- a/avahi-utils/avahi-publish.c +++ b/avahi-utils/avahi-publish.c @@ -189,7 +189,11 @@ static void client_callback(AvahiClient *c, AvahiClientState state, AVAHI_GCC_UN if (config->verbose) fprintf(stderr, "Host name conflict\n"); + + /* Fall through */ + case AVAHI_CLIENT_S_REGISTERING: + if (entry_group) { avahi_entry_group_free(entry_group); entry_group = NULL; @@ -200,9 +204,9 @@ static void client_callback(AvahiClient *c, AvahiClientState state, AVAHI_GCC_UN if (config->verbose) fprintf(stderr, "Waiting for daemon ...\n"); + break; - case AVAHI_CLIENT_S_REGISTERING: ; } } @@ -220,8 +224,8 @@ static void help(FILE *f, const char *argv0) { " -H --host=DOMAIN Host where service resides\n" " --subtype=SUBTYPE An additional subtype to register this service with\n" " -f --no-fail Don't fail if the daemon is not available\n", - argv0, strstr(argv0, "address") ? "[-a]" : "-a", - argv0, strstr(argv0, "service") ? "[-s]" : "-s"); + argv0, strstr(argv0, "service") ? "[-s]" : "-s", + argv0, strstr(argv0, "address") ? "[-a]" : "-a"); } static int parse_command_line(Config *c, const char *argv0, int argc, char *argv[]) { @@ -252,7 +256,6 @@ static int parse_command_line(Config *c, const char *argv0, int argc, char *argv c->port = 0; c->txt = c->subtypes = NULL; - opterr = 0; while ((o = getopt_long(argc, argv, "hVsavd:H:f", long_options, NULL)) >= 0) { switch(o) { @@ -286,7 +289,6 @@ static int parse_command_line(Config *c, const char *argv0, int argc, char *argv c->subtypes = avahi_string_list_add(c->subtypes, optarg); break; default: - fprintf(stderr, "Invalid command line argument: %c\n", o); return -1; } } @@ -322,6 +324,8 @@ static int parse_command_line(Config *c, const char *argv0, int argc, char *argv fprintf(stderr, "Failed to parse port number: %s\n", argv[optind+2]); return -1; } + + c->port = p; for (i = optind+3; i < argc; i++) c->txt = avahi_string_list_add(c->txt, argv[i]);