- buf_len += snprintf(&buf[buf_len], 32, "/%hhu,%u,%u ",
- p->prefix, ntohl(p->preferred),
- ntohl(p->valid));
+ 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);
+ buf[buf_len++] = ' ';