diff -Naur gdbm-1.8.3/gdbm.proto gdbm-1.8.3/gdbm.proto
--- gdbm-1.8.3/gdbm.proto
+++ gdbm-1.8.3/gdbm.proto
@@ -82,7 +82,7 @@
 
 /* These are the routines! */
 
-extern GDBM_FILE gdbm_open __P((char *, int, int, int, void (*)()));
+extern GDBM_FILE gdbm_open __P((char *, int, int, int, void (*)(char *)));
 extern void gdbm_close __P((GDBM_FILE));
 extern int gdbm_store __P((GDBM_FILE, datum, datum, int));
 extern datum gdbm_fetch __P((GDBM_FILE, datum));
diff -Naur gdbm-1.8.3/gdbmdefs.h gdbm-1.8.3/gdbmdefs.h
--- gdbm-1.8.3/gdbmdefs.h
+++ gdbm-1.8.3/gdbmdefs.h
@@ -167,7 +167,7 @@
 	int file_locking;
 
 	/* The fatal error handling routine. */
-	void (*fatal_err) ();
+	void (*fatal_err) (char *);
 
 	/* The gdbm file descriptor which is set in gdbm_open.  */
 	int desc;
diff -Naur gdbm-1.8.3/gdbmopen.c gdbm-1.8.3/gdbmopen.c
--- gdbm-1.8.3/gdbmopen.c
+++ gdbm-1.8.3/gdbmopen.c
@@ -59,7 +59,7 @@
      int  block_size;
      int  flags;
      int  mode;
-     void (*fatal_func) ();
+     void (*fatal_func) (char *);
 {
   gdbm_file_info *dbf;		/* The record to return. */
   struct stat file_stat;	/* Space for the stat information. */
diff -Naur gdbm-1.8.3/proto.h gdbm-1.8.3/proto.h
--- gdbm-1.8.3/proto.h
+++ gdbm-1.8.3/proto.h
@@ -64,7 +64,7 @@
 void  gdbm_close	  __P((gdbm_file_info *));
 int   gdbm_delete	  __P((gdbm_file_info *, datum));
 datum gdbm_fetch	  __P((gdbm_file_info *, datum));
-gdbm_file_info *gdbm_open __P((char *, int, int, int, void (*) (void)));
+gdbm_file_info *gdbm_open __P((char *, int, int, int, void (*) (char *)));
 int   gdbm_reorganize	  __P((gdbm_file_info *));
 datum gdbm_firstkey       __P((gdbm_file_info *));
 datum gdbm_nextkey        __P((gdbm_file_info *, datum));
diff -Naur gdbm-1.8.3/update.c gdbm-1.8.3/update.c
--- gdbm-1.8.3/update.c
+++ gdbm-1.8.3/update.c
@@ -37,9 +37,7 @@
 /* This procedure writes the header back to the file described by DBF. */
 
 static void
-write_header (dbf)
-     gdbm_file_info *dbf;
-{
+write_header (gdbm_file_info *dbf) {
   int  num_bytes;	/* Return value for write. */
   off_t file_pos;	/* Return value for lseek. */
 
@@ -58,9 +56,7 @@
 /* After all changes have been made in memory, we now write them
    all to disk. */
 void
-_gdbm_end_update (dbf)
-     gdbm_file_info *dbf;
-{
+_gdbm_end_update (gdbm_file_info *dbf) {
   int  num_bytes;	/* Return value for write. */
   off_t file_pos;	/* Return value for lseek. */
   
@@ -114,10 +110,7 @@
    error occured. */
 
 void
-_gdbm_fatal (dbf, val)
-     gdbm_file_info *dbf;
-     char *val;
-{
+_gdbm_fatal (gdbm_file_info *dbf, char *val) {
   if ((dbf != NULL) && (dbf->fatal_err != NULL))
     (*dbf->fatal_err) (val);
   else
