diff --git a/lib/ChangeLog b/lib/ChangeLog
index 30eafa8..d258ab3 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -3,6 +3,9 @@
 	* thread.c: (funcname_thread_add_timer) 
 	  (funcname_thread_add_timer_msec) Fix mistakes from last change.
 	  Pointed out by Liu Xin in [quagga-dev 1609].
+	* if.h: mtu's should be unsigned.
+	* routemap.{c,h}: const char updates
+	* smux.{c,h}: ditto
 
 2004-10-10 Paul Jakma <paul@dishone.st>
 
diff --git a/lib/if.h b/lib/if.h
index 0f088a9..218f102 100644
--- a/lib/if.h
+++ b/lib/if.h
@@ -94,8 +94,8 @@
   int metric;
 
   /* Interface MTU. */
-  int mtu;    /* IPv4 MTU */
-  int mtu6;   /* IPv6 MTU - probably, but not neccessarily same as mtu */
+  unsigned int mtu;    /* IPv4 MTU */
+  unsigned int mtu6;   /* IPv6 MTU - probably, but not neccessarily same as mtu */
 
   /* Hardware address. */
 #ifdef HAVE_SOCKADDR_DL
diff --git a/lib/routemap.c b/lib/routemap.c
index cd231be..cc63e3a 100644
--- a/lib/routemap.c
+++ b/lib/routemap.c
@@ -489,7 +489,7 @@
 
 /* strcmp wrapper function which don't crush even argument is NULL. */
 int
-rulecmp (char *dst, char *src)
+rulecmp (const char *dst, const char *src)
 {
   if (dst == NULL)
     {
@@ -511,7 +511,7 @@
 /* Add match statement to route map. */
 int
 route_map_add_match (struct route_map_index *index, const char *match_name,
-		     char *match_arg)
+                     const char *match_arg)
 {
   struct route_map_rule *rule;
   struct route_map_rule *next;
@@ -570,7 +570,7 @@
 /* Delete specified route match rule. */
 int
 route_map_delete_match (struct route_map_index *index, const char *match_name,
-			char *match_arg)
+                        const char *match_arg)
 {
   struct route_map_rule *rule;
   struct route_map_rule_cmd *cmd;
@@ -597,7 +597,7 @@
 /* Add route-map set statement to the route map. */
 int
 route_map_add_set (struct route_map_index *index, const char *set_name,
-		   char *set_arg)
+                   const char *set_arg)
 {
   struct route_map_rule *rule;
   struct route_map_rule *next;
@@ -656,7 +656,7 @@
 /* Delete route map set rule. */
 int
 route_map_delete_set (struct route_map_index *index, const char *set_name,
-			char *set_arg)
+                      const char *set_arg)
 {
   struct route_map_rule *rule;
   struct route_map_rule_cmd *cmd;
diff --git a/lib/routemap.h b/lib/routemap.h
index 73874d6..22a2b19 100644
--- a/lib/routemap.h
+++ b/lib/routemap.h
@@ -81,7 +81,7 @@
 				   route_map_object_t, void *);
 
   /* Compile argument and return result as void *. */
-  void *(*func_compile)(char *);
+  void *(*func_compile)(const char *);
 
   /* Free allocated value by func_compile (). */
   void (*func_free)(void *);
@@ -156,24 +156,24 @@
 int
 route_map_add_match (struct route_map_index *index,
 		     const char *match_name,
-		     char *match_arg);
+		     const char *match_arg);
 
 /* Delete specified route match rule. */
 int
 route_map_delete_match (struct route_map_index *index,
 			const char *match_name,
-			char *match_arg);
+			const char *match_arg);
 
 /* Add route-map set statement to the route map. */
 int
 route_map_add_set (struct route_map_index *index, 
 		   const char *set_name,
-		   char *set_arg);
+		   const char *set_arg);
 
 /* Delete route map set rule. */
 int
 route_map_delete_set (struct route_map_index *index, const char *set_name,
-                      char *set_arg);
+		      const char *set_arg);
 
 /* Install rule command to the match list. */
 void
diff --git a/lib/smux.c b/lib/smux.c
index 5831b81..7e443e3 100644
--- a/lib/smux.c
+++ b/lib/smux.c
@@ -1445,7 +1445,8 @@
 
 /* Register subtree to smux master tree. */
 void
-smux_register_mib (char *descr, struct variable *var, size_t width, int num, 
+smux_register_mib (const char *descr, struct variable *var, 
+                   size_t width, int num, 
 		   oid name[], size_t namelen)
 {
   struct subtree *tree;
diff --git a/lib/smux.h b/lib/smux.h
index 1d25993..975cf8b 100644
--- a/lib/smux.h
+++ b/lib/smux.h
@@ -146,7 +146,7 @@
 
 void smux_init (struct thread_master *tm, oid [], size_t);
 void smux_start (void);
-void smux_register_mib(char *, struct variable *, size_t, int, oid [], size_t);
+void smux_register_mib(const char *, struct variable *, size_t, int, oid [], size_t);
 int smux_header_generic (struct variable *, oid [], size_t *, int, size_t *, 
     WriteMethod **);
 int smux_trap (oid *, size_t, oid *, size_t, struct trap_object *, size_t, unsigned int, u_char);
