X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-utils%2Favahi-browse.c;h=248b6518b28b5af36420f2177791f858beaa2a7b;hb=5ea98f8caf0e163ad1f51039b8a2d13e3fe0e86c;hp=e9c4073f3379aec423e7f2a863d5f1cbeb3fa090;hpb=affa11f5bb7309fa504624a3512dce5c88ce473b;p=catta diff --git a/avahi-utils/avahi-browse.c b/avahi-utils/avahi-browse.c index e9c4073..248b651 100644 --- a/avahi-utils/avahi-browse.c +++ b/avahi-utils/avahi-browse.c @@ -43,7 +43,7 @@ #include "sigint.h" -#ifdef HAVE_GDBM +#if defined(HAVE_GDBM) || defined(HAVE_DBM) #include "stdb.h" #endif @@ -65,7 +65,7 @@ typedef struct Config { Command command; int resolve; int no_fail; -#ifdef HAVE_GDBM +#if defined(HAVE_GDBM) || defined(HAVE_DBM) int no_db_lookup; #endif } Config; @@ -127,8 +127,8 @@ static ServiceInfo *find_service(AvahiIfIndex interface, AvahiProtocol protocol, if (i->interface == interface && i->protocol == protocol && strcasecmp(i->name, name) == 0 && - avahi_domain_equal(i->type, type) == 0 && - avahi_domain_equal(i->domain, domain) == 0) + avahi_domain_equal(i->type, type) && + avahi_domain_equal(i->domain, domain)) return i; @@ -138,7 +138,7 @@ static ServiceInfo *find_service(AvahiIfIndex interface, AvahiProtocol protocol, static void print_service_line(Config *config, char c, AvahiIfIndex interface, AvahiProtocol protocol, const char *name, const char *type, const char *domain) { char ifname[IF_NAMESIZE]; -#ifdef HAVE_GDBM +#if defined(HAVE_GDBM) || defined(HAVE_DBM) if (!config->no_db_lookup) type = stdb_lookup(type); #endif @@ -148,6 +148,7 @@ static void print_service_line(Config *config, char c, AvahiIfIndex interface, A interface != AVAHI_IF_UNSPEC ? if_indextoname(interface, ifname) : "n/a", protocol != AVAHI_PROTO_UNSPEC ? avahi_proto_to_string(protocol) : "n/a", n_columns-35, name, type, domain); + fflush(stdout); } static void service_resolver_callback( @@ -206,6 +207,7 @@ static void service_resolver_callback( assert(n_resolving > 0); n_resolving--; check_terminate(i->config); + fflush(stdout); } static ServiceInfo *add_service(Config *c, AvahiIfIndex interface, AvahiProtocol protocol, const char *name, const char *type, const char *domain) { @@ -568,7 +570,7 @@ static void client_callback(AvahiClient *c, AvahiClientState state, AVAHI_GCC_UN if (config->verbose) fprintf(stderr, "Waiting for daemon ...\n"); - break; + break; } } @@ -593,10 +595,11 @@ static void help(FILE *f, const char *argv0) { " -c --cache Terminate after dumping all entries from the cache\n" " -l --ignore-local Ignore local services\n" " -r --resolve Resolve services found\n" - " -f --no-fail Don't fail if the server is not available\n" -#ifdef HAVE_GDBM - " -k --no-db-lookup Don't lookup service types\n"); + " -f --no-fail Don't fail if the daemon is not available\n" +#if defined(HAVE_GDBM) || defined(HAVE_DBM) + " -k --no-db-lookup Don't lookup service types\n" #endif + ); } static int parse_command_line(Config *c, const char *argv0, int argc, char *argv[]) { @@ -614,7 +617,7 @@ static int parse_command_line(Config *c, const char *argv0, int argc, char *argv { "ignore-local", no_argument, NULL, 'l' }, { "resolve", no_argument, NULL, 'r' }, { "no-fail", no_argument, NULL, 'f' }, -#ifdef HAVE_GDBM +#if defined(HAVE_GDBM) || defined(HAVE_DBM) { "no-db-lookup", no_argument, NULL, 'k' }, #endif { NULL, 0, NULL, 0 } @@ -631,13 +634,13 @@ static int parse_command_line(Config *c, const char *argv0, int argc, char *argv c->no_fail = 0; c->domain = c->stype = NULL; -#ifdef HAVE_GDBM +#if defined(HAVE_GDBM) || defined(HAVE_DBM) c->no_db_lookup = 0; #endif opterr = 0; while ((o = getopt_long(argc, argv, "hVd:avtclrDf" -#ifdef HAVE_GDBM +#if defined(HAVE_GDBM) || defined(HAVE_DBM) "k" #endif , long_options, NULL)) >= 0) { @@ -656,6 +659,7 @@ static int parse_command_line(Config *c, const char *argv0, int argc, char *argv c->command = COMMAND_BROWSE_DOMAINS; break; case 'd': + avahi_free(c->domain); c->domain = avahi_strdup(optarg); break; case 'v': @@ -676,7 +680,7 @@ static int parse_command_line(Config *c, const char *argv0, int argc, char *argv case 'f': c->no_fail = 1; break; -#ifdef HAVE_GDBM +#if defined(HAVE_GDBM) || defined(HAVE_DBM) case 'k': c->no_db_lookup = 1; break; @@ -779,7 +783,7 @@ fail: avahi_string_list_free(browsed_types); -#ifdef HAVE_GDBM +#if defined(HAVE_GDBM) || defined(HAVE_DBM) stdb_shutdown(); #endif