From 16ac7d456d14d22c2071e9151a0b78626d0d71c9 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 29 Jun 2004 04:43:45 +0000 Subject: [PATCH] Update. * inet/bug-if1.c (do_test): Simply use 0 as invalid index. --- ChangeLog | 2 ++ inet/bug-if1.c | 24 ++---------------------- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5215a58..8ea8fde 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2004-06-28 Ulrich Drepper + * inet/bug-if1.c (do_test): Simply use 0 as invalid index. + * sysdeps/unix/sysv/linux/if_index.c (if_nameindex): Use extend_alloca. 2004-06-28 GOTO Masanori diff --git a/inet/bug-if1.c b/inet/bug-if1.c index aa9925d..6bcd175 100644 --- a/inet/bug-if1.c +++ b/inet/bug-if1.c @@ -27,29 +27,9 @@ static int do_test (void) { - /* Get list of all interfaces. */ - struct if_nameindex *il = if_nameindex (); - if (il == NULL) - { - puts ("cannot get interface list, maybe the system does not support networking; bailing out"); - return 0; - } - - /* Determine the highest interface number. */ - unsigned int max = 0; - for (int cnt = 0; il[cnt].if_name != NULL; ++cnt) - if (il[cnt].if_index > max) - max = il[cnt].if_index; - - /* Use the next higher value (if possible). */ - if (max == UINT_MAX) - { - puts ("highest index too high; need more clever way to determine test index"); - return 0; - } - char buf[IF_NAMESIZE]; - char *cp = if_indextoname (max + 1, buf); + /* Index 0 is always invalid (see RFC 3493). */ + char *cp = if_indextoname (0, buf); if (cp != NULL) { printf ("invalid index returned result \"%s\"\n", cp); -- 2.7.4