diff --git a/lib/ChangeLog b/lib/ChangeLog
index c9d9693..03dc01a 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,7 @@
+2004-10-08 Hasso Tepper <hasso at quagga.net>
+
+	* routemap.c, routemap.h: Make some string arguments const.
+
 2004-10-05 Paul Jakma <paul@dishone.st>
 
 	* version.h.in: print_version declaration is here, not in automake
diff --git a/lib/routemap.c b/lib/routemap.c
index 67bbc03..748aa2c 100644
--- a/lib/routemap.c
+++ b/lib/routemap.c
@@ -424,7 +424,7 @@
 
 /* Lookup rule command from match list. */
 struct route_map_rule_cmd *
-route_map_lookup_match (char *name)
+route_map_lookup_match (const char *name)
 {
   unsigned int i;
   struct route_map_rule_cmd *rule;
@@ -438,7 +438,7 @@
 
 /* Lookup rule command from set list. */
 struct route_map_rule_cmd *
-route_map_lookup_set (char *name)
+route_map_lookup_set (const char *name)
 {
   unsigned int i;
   struct route_map_rule_cmd *rule;
@@ -510,7 +510,7 @@
 
 /* Add match statement to route map. */
 int
-route_map_add_match (struct route_map_index *index, char *match_name,
+route_map_add_match (struct route_map_index *index, const char *match_name,
 		     char *match_arg)
 {
   struct route_map_rule *rule;
@@ -569,7 +569,7 @@
 
 /* Delete specified route match rule. */
 int
-route_map_delete_match (struct route_map_index *index, char *match_name,
+route_map_delete_match (struct route_map_index *index, const char *match_name,
 			char *match_arg)
 {
   struct route_map_rule *rule;
@@ -596,7 +596,7 @@
 
 /* Add route-map set statement to the route map. */
 int
-route_map_add_set (struct route_map_index *index, char *set_name,
+route_map_add_set (struct route_map_index *index, const char *set_name,
 		   char *set_arg)
 {
   struct route_map_rule *rule;
@@ -655,7 +655,7 @@
 
 /* Delete route map set rule. */
 int
-route_map_delete_set (struct route_map_index *index, char *set_name,
+route_map_delete_set (struct route_map_index *index, const char *set_name,
 			char *set_arg)
 {
   struct route_map_rule *rule;
diff --git a/lib/routemap.h b/lib/routemap.h
index 4fd9e5e..a6f3c5d 100644
--- a/lib/routemap.h
+++ b/lib/routemap.h
@@ -74,7 +74,7 @@
 struct route_map_rule_cmd
 {
   /* Route map rule name (e.g. as-path, metric) */
-  char *str;
+  const char *str;
 
   /* Function for value set or match. */
   route_map_result_t (*func_apply)(void *, struct prefix *, 
@@ -155,24 +155,24 @@
 /* Add match statement to route map. */
 int
 route_map_add_match (struct route_map_index *index,
-		     char *match_name,
+		     const char *match_name,
 		     char *match_arg);
 
 /* Delete specified route match rule. */
 int
 route_map_delete_match (struct route_map_index *index,
-			char *match_name,
+			const char *match_name,
 			char *match_arg);
 
 /* Add route-map set statement to the route map. */
 int
 route_map_add_set (struct route_map_index *index, 
-		   char *set_name,
+		   const char *set_name,
 		   char *set_arg);
 
 /* Delete route map set rule. */
 int
-route_map_delete_set (struct route_map_index *index, char *set_name,
+route_map_delete_set (struct route_map_index *index, const char *set_name,
                       char *set_arg);
 
 /* Install rule command to the match list. */
