fix(gdbm): patch C23-incompatible fatal_err prototypes and K&R definitions in update.c

This commit is contained in:
vxtls 2026-02-28 15:37:46 -05:00
parent 1c75638d4a
commit e700df32f4

View file

@ -0,0 +1,85 @@
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