diff --git a/src/ChangeLog b/src/ChangeLog
index cf85eb529bfe302f2c3e180a67821fb1e85e89de..c65df7808ada5aa6a3abc371b5b09939870c94ae 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,12 @@
+2008-12-02  Larry Jones  <lawrence.jones@siemens.com>
+
+	* commit.c: Remove defunct variable (got_message).
+	* edit.c (send_notifications, edit, unedit): Use CVS_LOCK_NONE instead
+	of 0 in calls to start_recursion to avoid compiler warnings.
+	* parseinfo.c: Remove duplicate definition of config (from main.c).
+	* hash.c (walklist): Cast function pointers to void * for tracing.
+	* recurse.c (start_recursion): Ditto.
+
 2008-11-25  Larry Jones  <lawrence.jones@siemens.com>
 
 	* Makefile.in: Regenerated with Autoconf 2.63.
diff --git a/src/commit.c b/src/commit.c
index 0397f754be4b941535ec859a5a97f7154baef740..c2b73d618e45048a6d4b1f8fbc3be0af47d9b174 100644
--- a/src/commit.c
+++ b/src/commit.c
@@ -91,7 +91,6 @@ struct commit_data
 };
 static int check_valid_edit = 0;
 static int force_ci = 0;
-static int got_message;
 static int aflag;
 static char *saved_tag;
 static char *write_dirtag;
@@ -1430,7 +1429,6 @@ check_filesdoneproc (void *callerdat, int err, const char *repos,
      * check_dirent_proc() and once in commit_fileproc, but putting it here
      * covers both cases (recursion and files specified on the command line).
      */
-    got_message = 1;
     if (!server_active && use_editor)
 	do_editor (update_dir, &commit_data->saved_message, repos,
 		   saved_ulist);
@@ -1683,8 +1681,6 @@ commit_filesdoneproc (void *callerdat, int err, const char *repository,
 
     ulist = ((struct master_lists *) p->data)->ulist;
 
-    got_message = 0;
-
     /* Build the administrative files if necessary.  */
     {
 	const char *p;
diff --git a/src/edit.c b/src/edit.c
index a519fe9ca2299ae8693c19f1355a6da2f2ed10ab..6ffdcb9cbb4dd426075715b7d73ff823272d8dd5 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -256,7 +256,8 @@ send_notifications (int argc, char **argv, int local)
 	}
 
 	err += start_recursion (dummy_fileproc, NULL, NULL, NULL, NULL, argc,
-				argv, local, W_LOCAL, 0, 0, NULL, 0, NULL);
+				argv, local, W_LOCAL, 0, CVS_LOCK_NONE, NULL,
+				0, NULL);
 
 	send_to_server ("noop\012", 0);
 	if (STREQ (cvs_cmd_name, "release"))
@@ -633,7 +634,7 @@ edit (int argc, char **argv)
 	   setting_tedit, setting_tunedit, setting_tcommit, check_edited);
 
     err = start_recursion (edit_fileproc, NULL, NULL, NULL, NULL, argc, argv,
-			   local, W_LOCAL, 0, 0, NULL, 0, NULL);
+			   local, W_LOCAL, 0, CVS_LOCK_NONE, NULL, 0, NULL);
 
     err += send_notifications (argc, argv, local);
 
@@ -794,7 +795,7 @@ unedit (int argc, char **argv)
     /* No need to readlock since we aren't doing anything to the
        repository.  */
     err = start_recursion (unedit_fileproc, NULL, NULL, NULL, NULL, argc, argv,
-			   local, W_LOCAL, 0, 0, NULL, 0, NULL);
+			   local, W_LOCAL, 0, CVS_LOCK_NONE, NULL, 0, NULL);
 
     err += send_notifications (argc, argv, local);
 
diff --git a/src/hash.c b/src/hash.c
index b457664c9cc2ea6b8f40567dde79190cd5b6db9f..d9b2db5b0e20ad9a18fb091d93f7641191d369e3 100644
--- a/src/hash.c
+++ b/src/hash.c
@@ -426,7 +426,8 @@ walklist (List *list, int (*proc) (Node *, void *), void *closure)
     int err = 0;
 
     TRACE (TRACE_FLOW, "walklist (list=%s, proc=%s, closure=%s)",
-	   TRACE_PTR (list, 0), TRACE_PTR (proc, 1), TRACE_PTR (closure, 2));
+	   TRACE_PTR (list, 0), TRACE_PTR ((void *)proc, 1),
+	   TRACE_PTR (closure, 2));
 
     if (!list) return 0;
 
diff --git a/src/parseinfo.c b/src/parseinfo.c
index 95f00356670685b7a7f1398a58662336c8af63a5..59f33f18c96bd4650d7f9f34552e2f6989137ab1 100644
--- a/src/parseinfo.c
+++ b/src/parseinfo.c
@@ -32,16 +32,6 @@ char *make_UserAdminOptions (const char *infopath, unsigned int ln,
 			     const char *s);
 
 
-
-/***
- ***
- ***   CVSROOT/config options
- ***
- ***/
-struct config *config;
-
-
-
 /*
  * Parse the INFOFILE file for the specified REPOSITORY.  Invoke CALLPROC for
  * the first line in the file that matches the REPOSITORY, or if ALL != 0, any
diff --git a/src/recurse.c b/src/recurse.c
index 333f00b45b16ceb24332d4f00eceefd3ab76e1d0..20f7776b0b3e1d15bc3ea99d19780815a70c5587 100644
--- a/src/recurse.c
+++ b/src/recurse.c
@@ -209,8 +209,10 @@ start_recursion (FILEPROC fileproc, FILESDONEPROC filesdoneproc,
       "                      local=%d, which=%d, aflag=%d,\n"
       "                      locktype=%d, update_preload=%s\n"
       "                      dosrcs=%d, repository_in=%s)",
-	   TRACE_PTR (fileproc, 0), TRACE_PTR (filesdoneproc, 1),
-	   TRACE_PTR (direntproc, 2), TRACE_PTR (dirleaveproc, 3),
+	   TRACE_PTR ((void *)fileproc, 0),
+	   TRACE_PTR ((void *)filesdoneproc, 1),
+	   TRACE_PTR ((void *)direntproc, 2),
+	   TRACE_PTR ((void *)dirleaveproc, 3),
 	   TRACE_PTR (callerdat, 4), argc, TRACE_PTR (argv, 5),
 	   local, which, aflag, locktype,
 	   TRACE_NULL (update_preload), dosrcs,