Hello,

the code in

   ifconfig/system/linux.c

is broken on my Debian Squeeze amd64 machine. I am starting from
a fresh git checkout for x86 and x86_64, but the latter fails in
execution.

The function linux_if_nameindex() is clearly broken on x86_64.
It is used as

     ### End of ifconfig/system/linux.c

     system_if_nameindex = linux_if_nameindex

It is broken in the sense that every structure element "if_name"
is the empty string. The number of entries returned is correct,
but every name string is empty. In consequence, the simple call

     $ ./ifconfig/ifconfig

results in abortion with the complaint that there is no adapter
with the name `'.

Performing a minimal editing to assign instead

     system_if_nameindex = if_nameindex

still makes the code broken, but now the name string is set for
the very first adapter, but is not changed for the later adapters.
Observe that this if_nameindex() has been manipulated by GNUlib,
or rather its effect on "ifconfig/if_nameindex.c".

A separate test program for the glibc version of if_nameindex()
demonstrates that the library function is correct on amd64/x86_64.

I am surmising that the code in "ifconfig/if_index.c" is causing
unforeseen problems. My guess is that this matter relates to

   http://lists.gnu.org/archive/html/bug-inetutils/2010-09/msg00042.html

and

   http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00387.html


Regards,
Mats E A

Reply via email to