X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=ui%2Fncurses%2Fnc-sysinfo.c;h=1a3d3f5227b0c704ec8e140b70573c616ba4afd0;hp=1d7bd1e2834cf8b499517a8320be44dcb68529f0;hb=90cc2a11507462e9c40f2494165741561729bdfb;hpb=937f660b2e3f6d517e4114e8096cb640715b1ae8 diff --git a/ui/ncurses/nc-sysinfo.c b/ui/ncurses/nc-sysinfo.c index 1d7bd1e..1a3d3f5 100644 --- a/ui/ncurses/nc-sysinfo.c +++ b/ui/ncurses/nc-sysinfo.c @@ -15,8 +15,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define _GNU_SOURCE - +#if defined(HAVE_CONFIG_H) +#include "config.h" +#endif #include @@ -25,7 +26,6 @@ #include #include -#include "config.h" #include "nc-cui.h" #include "nc-sysinfo.h" @@ -127,28 +127,10 @@ static __attribute__((format(printf, 2, 3))) void sysinfo_screen_append_line( screen->n_lines++; } -static void mac_str(struct interface_info *info, char *buf, unsigned int buflen) +static void if_info_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; + return mac_str(info->hwaddr, info->hwaddr_size, buf, buflen); } static void sysinfo_screen_populate(struct sysinfo_screen *screen, @@ -190,10 +172,11 @@ static void sysinfo_screen_populate(struct sysinfo_screen *screen, struct interface_info *info = sysinfo->interfaces[i]; char macbuf[32]; - mac_str(info, macbuf, sizeof(macbuf)); + if_info_mac_str(info, macbuf, sizeof(macbuf)); line("%s:", info->name); - line(" MAC: %s", macbuf); + line(" MAC: %s", macbuf); + line(" link: %s", info->link ? "up" : "down"); line(NULL); }