- buf_len += snprintf(&buf[buf_len], 6, "/%hhu", e[i].length);
- if (!IN6_ARE_ADDR_EQUAL(&any, &e[i].router)) {
- buf[buf_len++] = '@';
- inet_ntop(AF_INET6, &e[i].router, &buf[buf_len], INET6_ADDRSTRLEN);
- buf_len += strlen(&buf[buf_len]);
+ if (!host) {
+ buf_len += snprintf(&buf[buf_len], 6, "/%hhu", e[i].length);
+ if (!IN6_ARE_ADDR_EQUAL(&any, &e[i].router)) {
+ buf[buf_len++] = '@';
+ inet_ntop(AF_INET6, &e[i].router, &buf[buf_len], INET6_ADDRSTRLEN);
+ buf_len += strlen(&buf[buf_len]);
+ }
+ buf_len += snprintf(&buf[buf_len], 24, ",%u,%u", e[i].preferred, e[i].valid);
+ if (e[i].priority)
+ buf_len += snprintf(&buf[buf_len], 12, ",%u", e[i].priority);