summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--avahi-core/domain-util.c30
-rw-r--r--avahi-core/entry.c4
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();*/