Update.
[kopensolaris-gnu/glibc.git] / inet / test_ifindex.c
index f0a34cf..0441bf0 100644 (file)
@@ -45,11 +45,17 @@ main (void)
   for (p = idx; p->if_index || p->if_name; ++p)
     {
       char buf[IFNAMSIZ];
-      int ni, result;
+      unsigned int ni;
+      int result;
       printf ("%3d %15s | ", p->if_index, p->if_name);
       printf ("%3d", ni = if_nametoindex (p->if_name));
       printf ("%15s", if_indextoname (p->if_index, buf));
       result = (ni != p->if_index || (strcmp (buf, p->if_name)));
+      if (ni == p->if_index)
+       /* We have to make sure that this is not an alias with the
+          same interface number.  */
+       if (p->if_index == if_nametoindex (buf))
+         result = 0;
       printf ("%10s", result ? "fail" : "okay");
       printf ("\n");
       failures += result;