2004-10-10 Paul Jakma <paul@dishone.st>

	* version.h.in: (pid_output*) add const qualifier.
	* command.h: Change DEFUN func to take const char *[] rather
          than char **, to begin process of fixing compile warnings in lib/.
          Nearly all other changes in this commit follow from this change.
        * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take
          const void * and cast an automatic const char *p to it.
          (buffer_putstr) add const
        * command.c: (zencrypt) const qualifier
          (cmd_execute_command_real) ditto
          (cmd_execute_command_strict) ditto
          (config_log_file) ditto.
          Fix leak of getcwd() returned string.
        * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname.
        * distribute.{c,h}: Update with const qualifier.
          (distribute_free) use MTYPE_DISTRIBUTE_IFNAME
          (distribute_lookup) Cast to char *, note that it's ok.
          (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME.
          (distribute_get)  Cast to char *, note that it's ok.
        * filter.c: Update with const qualifier.
        * if.{c,h}: ditto.
        * if_rmap.{c,h}: ditto.
          (if_rmap_lookup) Cast to char *, note that it's ok.
          (if_rmap_get) ditto.
        * log.{c,h}: Update with const qualifier.
        * plist.{c,h}: ditto.
        * routemap.{c,h}: ditto.
        * smux.{c,h}: ditto. Fix some signed/unsigned comparisons.
        * sockopt.c: (getsockopt_cmsg_data) add return for error case.
        * vty.c: Update with const qualifier.
diff --git a/lib/if_rmap.c b/lib/if_rmap.c
index 0f3fa9c..3f95af3 100644
--- a/lib/if_rmap.c
+++ b/lib/if_rmap.c
@@ -58,12 +58,13 @@
 }
 
 struct if_rmap *
-if_rmap_lookup (char *ifname)
+if_rmap_lookup (const char *ifname)
 {
   struct if_rmap key;
   struct if_rmap *if_rmap;
 
-  key.ifname = ifname;
+  /* temporary copy */
+  key.ifname = (char *)ifname;
 
   if_rmap = hash_lookup (ifrmaphash, &key);
   
@@ -94,11 +95,12 @@
 }
 
 struct if_rmap *
-if_rmap_get (char *ifname)
+if_rmap_get (const char *ifname)
 {
   struct if_rmap key;
 
-  key.ifname = ifname;
+  /* temporary copy */
+  key.ifname = (char *)ifname;
 
   return (struct if_rmap *) hash_get (ifrmaphash, &key, if_rmap_hash_alloc);
 }
@@ -124,7 +126,8 @@
 }
 
 struct if_rmap *
-if_rmap_set (char *ifname, enum if_rmap_type type, char *routemap_name)
+if_rmap_set (const char *ifname, enum if_rmap_type type, 
+             const char *routemap_name)
 {
   struct if_rmap *if_rmap;
 
@@ -150,7 +153,8 @@
 }
 
 int
-if_rmap_unset (char *ifname, enum if_rmap_type type, char *routemap_name)
+if_rmap_unset (const char *ifname, enum if_rmap_type type, 
+               const char *routemap_name)
 {
   struct if_rmap *if_rmap;