You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
860 B
21 lines
860 B
diff -up bind-9.5.0b1/bin/dig/dighost.c.libidn3 bind-9.5.0b1/bin/dig/dighost.c |
|
--- bind-9.5.0b1/bin/dig/dighost.c.libidn3 2007-12-20 13:24:27.000000000 +0100 |
|
+++ bind-9.5.0b1/bin/dig/dighost.c 2007-12-20 13:27:10.000000000 +0100 |
|
@@ -1859,10 +1859,13 @@ setup_lookup(dig_lookup_t *lookup) { |
|
if (lookup->origin != NULL) { |
|
result = libidn_locale_to_utf8 (lookup->origin->origin, utf8_str); |
|
check_result (result, "convert origin to UTF-8"); |
|
- if (len + strlen (utf8_str) < MXNAME) |
|
- (void) strcpy (utf8_name + len, utf8_str); |
|
- else |
|
- fatal ("Too long name + origin"); |
|
+ if (len > 0 && utf8_name[len - 1] != '.') { |
|
+ utf8_name[len++] = '.'; |
|
+ if (len + strlen (utf8_str) < MXNAME) |
|
+ (void) strcpy (utf8_name + len, utf8_str); |
|
+ else |
|
+ fatal ("Too long name + origin"); |
|
+ } |
|
} |
|
|
|
result = libidn_utf8_to_ascii (utf8_name, ascii_name);
|
|
|