2003-08-01 Cougar <cougar@random.ee>

	* lib/if.c: (if_cmp_func) new function, compare interface names in
	alphabetical order.
	(if_create) Take name as argument and add interface in sorted order.
	(if_get_by_name),(interface_cmd) fixup calls to if_create - see
	above.
	(if_init) register list comparison function.
	* lib/if.h: Add comparison function, modify if_create prototype.
	* lib/zclient.c: Modify call to if_create.
	* ospfd/ospf_interface.c: (ospf_vl_new) modify call to if_create.
	change sprintf to snprintf.
	* zebra/kernel_socket.c: (ifm_read) modify call to if_create.
diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c
index 9527315..05eec59 100644
--- a/zebra/kernel_socket.c
+++ b/zebra/kernel_socket.c
@@ -219,9 +219,8 @@
 	  return -1;
 	}
 
-      ifp = if_create ();
+      ifp = if_create (sdl->sdl_data, sdl->sdl_nlen);
 
-      strncpy (ifp->name, sdl->sdl_data, sdl->sdl_nlen);
       ifp->ifindex = ifm->ifm_index;
       ifp->flags = ifm->ifm_flags;
 #if defined(__bsdi__)