From 44f721610073c9ce55ace4792fa6a8ae18dc7f6f Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 9 Jul 2006 13:49:58 +0000 Subject: flush stdout after every line, this makes avahi-browse more useful in shell scripts where pipes are involved (closes #48) git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1232 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-utils/avahi-browse.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'avahi-utils/avahi-browse.c') diff --git a/avahi-utils/avahi-browse.c b/avahi-utils/avahi-browse.c index 7abd53e..9fd9927 100644 --- a/avahi-utils/avahi-browse.c +++ b/avahi-utils/avahi-browse.c @@ -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) { -- cgit From b7d566fc3ec60c0fbbca22af273bc67fdc1372fa Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 6 Aug 2006 11:54:31 +0000 Subject: Allow storing the service type database as Solaris DBM file, alternatively to gdbm. The latter is still recommended. (Patch from Padraig O'Briain) git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1245 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-utils/avahi-browse.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'avahi-utils/avahi-browse.c') diff --git a/avahi-utils/avahi-browse.c b/avahi-utils/avahi-browse.c index 9fd9927..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; @@ -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 @@ -596,7 +596,7 @@ static void help(FILE *f, const char *argv0) { " -l --ignore-local Ignore local services\n" " -r --resolve Resolve services found\n" " -f --no-fail Don't fail if the daemon is not available\n" -#ifdef HAVE_GDBM +#if defined(HAVE_GDBM) || defined(HAVE_DBM) " -k --no-db-lookup Don't lookup service types\n" #endif ); @@ -617,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 } @@ -634,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) { @@ -680,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; @@ -783,7 +783,7 @@ fail: avahi_string_list_free(browsed_types); -#ifdef HAVE_GDBM +#if defined(HAVE_GDBM) || defined(HAVE_DBM) stdb_shutdown(); #endif -- cgit From 8bc7858318a61d998527212e0948a3c469922105 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 31 Dec 2006 16:52:13 +0000 Subject: Fix error message when passing an invalid command line option (Closes #88) git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1358 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-utils/avahi-browse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'avahi-utils/avahi-browse.c') diff --git a/avahi-utils/avahi-browse.c b/avahi-utils/avahi-browse.c index 248b651..faa8f8a 100644 --- a/avahi-utils/avahi-browse.c +++ b/avahi-utils/avahi-browse.c @@ -686,7 +686,7 @@ static int parse_command_line(Config *c, const char *argv0, int argc, char *argv break; #endif default: - fprintf(stderr, "Invalid command line argument: %c\n", o); + fprintf(stderr, "Invalid command line argument: %s\n", argv[optind-1]); return -1; } } -- cgit From bc24853c6421b9374eb4825ae40178d14e0c0575 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 12 Apr 2007 22:14:40 +0000 Subject: add the ability to dump the service type database to avahi-browse git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1414 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-utils/avahi-browse.c | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) (limited to 'avahi-utils/avahi-browse.c') diff --git a/avahi-utils/avahi-browse.c b/avahi-utils/avahi-browse.c index faa8f8a..5d1a4c8 100644 --- a/avahi-utils/avahi-browse.c +++ b/avahi-utils/avahi-browse.c @@ -53,6 +53,9 @@ typedef enum { COMMAND_BROWSE_SERVICES, COMMAND_BROWSE_ALL_SERVICES, COMMAND_BROWSE_DOMAINS +#if defined(HAVE_GDBM) || defined(HAVE_DBM) + , COMMAND_DUMP_STDB +#endif } Command; typedef struct Config { @@ -581,7 +584,11 @@ static void help(FILE *f, const char *argv0) { fprintf(f, "%s [options] \n" "%s [options] -a\n" - "%s [options] -D\n\n", + "%s [options] -D\n" +#if defined(HAVE_GDBM) || defined(HAVE_DBM) + "%s [options] -b\n", +#endif + "\n", argv0, argv0, argv0); fprintf(f, @@ -598,6 +605,7 @@ static void help(FILE *f, const char *argv0) { " -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" + " -b --dump-db Dump service type database\n" #endif ); } @@ -619,6 +627,7 @@ static int parse_command_line(Config *c, const char *argv0, int argc, char *argv { "no-fail", no_argument, NULL, 'f' }, #if defined(HAVE_GDBM) || defined(HAVE_DBM) { "no-db-lookup", no_argument, NULL, 'k' }, + { "dump-db", no_argument, NULL, 'b' }, #endif { NULL, 0, NULL, 0 } }; @@ -641,7 +650,7 @@ static int parse_command_line(Config *c, const char *argv0, int argc, char *argv opterr = 0; while ((o = getopt_long(argc, argv, "hVd:avtclrDf" #if defined(HAVE_GDBM) || defined(HAVE_DBM) - "k" + "kb" #endif , long_options, NULL)) >= 0) { @@ -684,6 +693,9 @@ static int parse_command_line(Config *c, const char *argv0, int argc, char *argv case 'k': c->no_db_lookup = 1; break; + case 'b': + c->command = COMMAND_DUMP_STDB; + break; #endif default: fprintf(stderr, "Invalid command line argument: %s\n", argv[optind-1]); @@ -762,6 +774,23 @@ int main(int argc, char *argv[]) { avahi_simple_poll_loop(simple_poll); ret = 0; break; + +#if defined(HAVE_GDBM) || defined(HAVE_DBM) + case COMMAND_DUMP_STDB: { + char *t; + stdb_setent(); + + while ((t = stdb_getent())) { + if (config.no_db_lookup) + printf("%s\n", t); + else + printf("%s\n", stdb_lookup(t)); + } + + ret = 0; + break; + } +#endif } -- cgit From 758381efbaa40d604253259cd43f194db1162859 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 14 Apr 2007 22:19:52 +0000 Subject: Fix error message when passing invalid command line arguments. I admit defeat, tedp wins, merging his patch. (Closes #88) git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1424 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-utils/avahi-browse.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'avahi-utils/avahi-browse.c') diff --git a/avahi-utils/avahi-browse.c b/avahi-utils/avahi-browse.c index 5d1a4c8..71964e6 100644 --- a/avahi-utils/avahi-browse.c +++ b/avahi-utils/avahi-browse.c @@ -647,7 +647,6 @@ static int parse_command_line(Config *c, const char *argv0, int argc, char *argv c->no_db_lookup = 0; #endif - opterr = 0; while ((o = getopt_long(argc, argv, "hVd:avtclrDf" #if defined(HAVE_GDBM) || defined(HAVE_DBM) "kb" @@ -698,7 +697,6 @@ static int parse_command_line(Config *c, const char *argv0, int argc, char *argv break; #endif default: - fprintf(stderr, "Invalid command line argument: %s\n", argv[optind-1]); return -1; } } -- cgit