diff --git a/lib/ChangeLog b/lib/ChangeLog
index 84cf7fc..3da0dfe 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-07 Hasso Tepper <hasso at quagga.net>
+
+	* command.c, pid_output.c, print_version.c, vty.c, vty.h: Make more
+	  strings const.
+
 2004-10-05 Hasso Tepper <hasso at quagga.net>
 
 	* *.[c|h]: Make many strings cons and a lot of int -> unsigned int
diff --git a/lib/command.c b/lib/command.c
index c65e6fa..330470e 100644
--- a/lib/command.c
+++ b/lib/command.c
@@ -233,9 +233,10 @@
 
 /* Fetch next description.  Used in cmd_make_descvec(). */
 char *
-cmd_desc_str (char **string)
+cmd_desc_str (const char **string)
 {
-  char *cp, *start, *token;
+  const char *cp, *start;
+  char *token;
   int strlen;
   
   cp = *string;
diff --git a/lib/pid_output.c b/lib/pid_output.c
index 2d90afc..fca7ec8 100644
--- a/lib/pid_output.c
+++ b/lib/pid_output.c
@@ -24,10 +24,10 @@
 #include <fcntl.h>
 #include <log.h>
 
-pid_t pid_output_lock(char *);
+pid_t pid_output_lock(const char *);
 
 pid_t
-pid_output (char *path)
+pid_output (const char *path)
 {
 #ifndef HAVE_FCNTL
   FILE *fp;
@@ -54,7 +54,7 @@
 
 #ifdef HAVE_FCNTL
 pid_t
-pid_output_lock (char *path)
+pid_output_lock (const char *path)
 {
   int tmp;
   int fd;
diff --git a/lib/print_version.c b/lib/print_version.c
index 1873faa..3d8e679 100644
--- a/lib/print_version.c
+++ b/lib/print_version.c
@@ -24,7 +24,7 @@
 #include <lib/version.h>
 
 void
-print_version (char *progname)
+print_version (const char *progname)
 {
   printf ("%s version %s (%s)\n", progname, QUAGGA_VERSION, host_name);
   printf ("Copyright 1996-2001, Kunihiro Ishiguro\n");
diff --git a/lib/vty.c b/lib/vty.c
index c10c984..42b7e92 100644
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -1854,7 +1854,7 @@
 
 /* VTY shell UNIX domain socket. */
 void
-vty_serv_un (char *path)
+vty_serv_un (const char *path)
 {
   int ret;
   int sock, len, flags;
@@ -2019,7 +2019,7 @@
 
 /* Determine address family to bind. */
 void
-vty_serv_sock (const char *addr, unsigned short port, char *path)
+vty_serv_sock (const char *addr, unsigned short port, const char *path)
 {
   /* If port is set to 0, do not listen on TCP/IP at all! */
   if (port)
diff --git a/lib/vty.h b/lib/vty.h
index 3cf9c4a..ffaad35 100644
--- a/lib/vty.h
+++ b/lib/vty.h
@@ -194,7 +194,7 @@
 int vty_out (struct vty *, const char *, ...) PRINTF_ATTRIBUTE(2, 3);
 void vty_read_config (char *, char *);
 void vty_time_print (struct vty *, int);
-void vty_serv_sock (const char *, unsigned short, char *);
+void vty_serv_sock (const char *, unsigned short, const char *);
 void vty_close (struct vty *);
 char *vty_get_cwd (void);
 void vty_log (const char *, const char *, va_list);
