diff options
author | Federico Lucifredi <flucifredi@acm.org> | 2007-12-27 08:25:46 +0000 |
---|---|---|
committer | Federico Lucifredi <flucifredi@acm.org> | 2007-12-27 08:25:46 +0000 |
commit | 0c05ad822bb8fe4cd640c64819b16a2b82ae79a2 (patch) | |
tree | 0829d4d1bb8d4b8daf5e3feabfeb34467d70419b | |
parent | faa8f3d936014d6e860e73540d2d4523d0da104e (diff) |
added c_to_canonical_string() to be used in generating DNS-label-formatted strin
gs outside of an AvahiDNSPacket.
git-svn-id: file:///home/lennart/svn/public/avahi/branches/federico@1656 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
-rw-r--r-- | avahi-core/domain-util.c | 30 | ||||
-rw-r--r-- | avahi-core/entry.c | 4 |
2 files changed, 22 insertions, 12 deletions
diff --git a/avahi-core/domain-util.c b/avahi-core/domain-util.c index 078ab5c..d58e22b 100644 --- a/avahi-core/domain-util.c +++ b/avahi-core/domain-util.c @@ -191,25 +191,35 @@ int avahi_domain_ends_with(const char *domain, const char *suffix) { char * c_to_canonical_string(char* input) { char *label = avahi_malloc(AVAHI_LABEL_MAX); - char *result = avahi_malloc(AVAHI_DOMAIN_NAME_MAX); + char *retval = avahi_malloc(AVAHI_DOMAIN_NAME_MAX); + char *result = retval; - while(avahi_unescape_label(&input, label, AVAHI_LABEL_MAX)) + /* printf("invoked with: -%s-\n", input); */ + + for(;;) { + avahi_unescape_label(&input, label, AVAHI_LABEL_MAX); + + if(!(*label)) + break; + *result = (char)strlen(label); + /* printf("label length: -%d-\n", *result); */ + result++; - do { - *result = *label; - result++; - label++; - } while(*label); + /*printf("label: -%s-\n", label); */ + + strcpy(result, label); + result += (char)strlen(label); - printf("intermediate result: -%s-\n", result); + /* printf("intermediate result: -%s-\n", retval); */ } - printf("result: -%s-\n", result); + /* printf("result: -%s-\n", retval); + printf("result length: -%d-\n", (char)strlen(retval)); */ avahi_free(label); - return result; + return retval; } diff --git a/avahi-core/entry.c b/avahi-core/entry.c index aadc1db..1882d48 100644 --- a/avahi-core/entry.c +++ b/avahi-core/entry.c @@ -228,8 +228,8 @@ static AvahiEntry * server_add_internal( if (r->key->type == 12 || r->key->type == 2 || r->key->type == 5) { printf("c-style: \"%s\"\n", r->data.ptr.name); - /*printf("canonical: \"%s\"\n", c_to_canonical_string(r->data.ptr.name));*/ - printf("canonical: \"%s\"\n", avahi_normalize_name_strdup(r->data.ptr.name)); + printf("canonical: \"%s\"\n", c_to_canonical_string(r->data.ptr.name)); + printf("length: \"%d\"\n", (char)strlen(c_to_canonical_string(r->data.ptr.name))); } /*wide_area_publish();*/ |