- talloc_free(screen->lines);
- screen->n_lines = 0;
- screen->n_alloc_lines = 16;
- screen->lines = talloc_array(screen, char *, screen->n_alloc_lines);
-}
-
-static __attribute__((format(printf, 2, 3))) void sysinfo_screen_append_line(
- struct sysinfo_screen *screen, const char *fmt, ...)
-{
- char *line;
- va_list ap;
-
- if (fmt) {
- va_start(ap, fmt);
- line = talloc_vasprintf(screen->lines, fmt, ap);
- va_end(ap);
- } else {
- line = "";
- }
-
- if (screen->n_lines == screen->n_alloc_lines) {
- screen->n_alloc_lines *= 2;
- screen->lines = talloc_realloc(screen, screen->lines,
- char *, screen->n_alloc_lines);
- }
-
- screen->lines[screen->n_lines] = line;
- screen->n_lines++;
-}
-
-static void mac_str(struct interface_info *info, char *buf, unsigned int buflen)
-{
- unsigned int i;
- char *pos;
-
- assert(buflen > sizeof("unknown"));
-
- if (!info->hwaddr_size || info->hwaddr_size * 3 + 1 > buflen) {
- strcpy(buf, "unknown");
- return;
- }
-
- pos = buf;
-
- for (i = 0; i < info->hwaddr_size; i++) {
- snprintf(pos, 4, "%02x:", info->hwaddr[i]);
- pos += 3;
- }
-
- *(pos - 1) = '\0';
-
- return;