2004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

	* global: Replace strerror with safe_strerror.  And vtysh/vtysh.c
	  needs to include "log.h" to pick up the declaration.
diff --git a/zebra/rtadv.c b/zebra/rtadv.c
index cb29a67..770f975 100644
--- a/zebra/rtadv.c
+++ b/zebra/rtadv.c
@@ -301,7 +301,7 @@
   if (ret < 0)
     {
       zlog_err ("rtadv_send_packet: sendmsg %d (%s)\n",
-		errno, strerror(errno));
+		errno, safe_strerror(errno));
     }
 }
 
@@ -425,7 +425,7 @@
 
   if (len < 0) 
     {
-      zlog_warn ("router solicitation recv failed: %s.", strerror (errno));
+      zlog_warn ("router solicitation recv failed: %s.", safe_strerror (errno));
       return len;
     }
 
@@ -443,13 +443,13 @@
 
   if ( zserv_privs.change (ZPRIVS_RAISE) )
        zlog_err ("rtadv_make_socket: could not raise privs, %s",
-                  strerror (errno) );
+                  safe_strerror (errno) );
                   
   sock = socket (AF_INET6, SOCK_RAW, IPPROTO_ICMPV6);
 
   if ( zserv_privs.change (ZPRIVS_LOWER) )
        zlog_err ("rtadv_make_socket: could not lower privs, %s",
-       			 strerror (errno) );
+       			 safe_strerror (errno) );
 
   /* When we can't make ICMPV6 socket simply back.  Router
      advertisement feature will not be supported. */
@@ -480,7 +480,7 @@
 		    sizeof (struct icmp6_filter));
   if (ret < 0)
     {
-      zlog_info ("ICMP6_FILTER set fail: %s", strerror (errno));
+      zlog_info ("ICMP6_FILTER set fail: %s", safe_strerror (errno));
       return ret;
     }
 
@@ -1223,7 +1223,7 @@
   ret = setsockopt (sock, IPPROTO_IPV6, IPV6_JOIN_GROUP, 
 		    (char *) &mreq, sizeof mreq);
   if (ret < 0)
-    zlog_warn ("can't setsockopt IPV6_JOIN_GROUP: %s", strerror (errno));
+    zlog_warn ("can't setsockopt IPV6_JOIN_GROUP: %s", safe_strerror (errno));
 
   zlog_info ("rtadv: %s join to all-routers multicast group", ifp->name);
 
@@ -1244,7 +1244,7 @@
   ret = setsockopt (sock, IPPROTO_IPV6, IPV6_LEAVE_GROUP, 
 		    (char *) &mreq, sizeof mreq);
   if (ret < 0)
-    zlog_warn ("can't setsockopt IPV6_LEAVE_GROUP: %s", strerror (errno));
+    zlog_warn ("can't setsockopt IPV6_LEAVE_GROUP: %s", safe_strerror (errno));
 
   zlog_info ("rtadv: %s leave from all-routers multicast group", ifp->name);