aboutsummaryrefslogtreecommitdiffstats
path: root/mdns.c
diff options
context:
space:
mode:
authorkraxel <kraxel>2006-01-30 13:27:55 +0000
committerkraxel <kraxel>2006-01-30 13:27:55 +0000
commit0c4259cab79fe4c57cf2eb626170d5855f2ebb9a (patch)
treec00655e30d6a9641d5a3c4ae6c9200dcec44ecdc /mdns.c
parent4ae83fb9e85d4770ab8813b06a936ef21c335da9 (diff)
downloadxenwatch-0c4259cab79fe4c57cf2eb626170d5855f2ebb9a.tar.gz
- fixes.
Diffstat (limited to 'mdns.c')
-rw-r--r--mdns.c27
1 files changed, 13 insertions, 14 deletions
diff --git a/mdns.c b/mdns.c
index 4e1e219..3f6d66f 100644
--- a/mdns.c
+++ b/mdns.c
@@ -202,12 +202,12 @@ static void resolve_callback(AvahiServiceResolver *r,
};
struct mdns_window *mdns = userdata;
char a[AVAHI_ADDRESS_STR_MAX], p[32], url[256];
- unsigned char *txtstr = NULL;
+ unsigned char *txtstr, *path = NULL;
char *proto = NULL;
AvahiStringList *txtlist;
GtkTreeIter iter;
char nif[32];
- int defport, i;
+ int defport = 0, i;
switch (event) {
case AVAHI_RESOLVER_FOUND:
@@ -225,12 +225,9 @@ static void resolve_callback(AvahiServiceResolver *r,
/* xen stuff */
txtlist = avahi_string_list_find(txt, "dom-id");
- fprintf(stderr, "x %s", avahi_string_list_to_string(txt));
if (txtlist) {
- fprintf(stderr,"xx");
txtstr = avahi_string_list_get_text(txtlist);
if (txtstr) {
- fprintf(stderr, "xxx %s", txtstr);
gtk_list_store_set(mdns->store, &iter,
ST_COL_XEN_DOM_ID, txtstr+7,
-1);
@@ -248,13 +245,15 @@ static void resolve_callback(AvahiServiceResolver *r,
/* path */
txtlist = avahi_string_list_find(txt, "path");
- if (txtlist)
+ if (txtlist) {
txtstr = avahi_string_list_get_text(txtlist);
- if (!txtstr)
- break;
- gtk_list_store_set(mdns->store, &iter,
- ST_COL_PATH, txtstr+5,
- -1);
+ if (txtstr) {
+ path = txtstr+5;
+ gtk_list_store_set(mdns->store, &iter,
+ ST_COL_PATH, path,
+ -1);
+ }
+ }
/* url */
for (i = 0; i < sizeof(protos)/sizeof(protos[0]); i++) {
@@ -264,14 +263,14 @@ static void resolve_callback(AvahiServiceResolver *r,
defport = protos[i].defport;
break;
}
- if (!proto)
+ if (!proto || !path)
break;
if (defport != port)
snprintf(url, sizeof(url), "%s://%s:%d%s",
- proto, host_name, port, txtstr+5);
+ proto, host_name, port, path);
else
snprintf(url, sizeof(url), "%s://%s%s",
- proto, host_name, txtstr+5);
+ proto, host_name, path);
gtk_list_store_set(mdns->store, &iter,
ST_COL_URL, url,
-1);