Loading...
--- /dev/null
+++ Libc/Libc-763.13/db/hash/FreeBSD/hash.c.patch
@@ -0,0 +1,30 @@
+--- hash.c.orig 2009-11-06 12:41:16.000000000 -0800
++++ hash.c 2009-11-06 12:41:27.000000000 -0800
+@@ -54,7 +54,7 @@ __FBSDID("$FreeBSD: src/lib/libc/db/hash
+ #include <db.h>
+ #include "hash.h"
+ #include "page.h"
+-#include "extern.h"
++#include "hash_extern.h"
+
+ static int alloc_segs(HTAB *, int);
+ static int flush_meta(HTAB *);
+@@ -104,8 +104,7 @@ __hash_open(const char *file, int flags,
+ int bpages, hdrsize, new_table, nsegs, save_errno;
+
+ if ((flags & O_ACCMODE) == O_WRONLY) {
+- errno = EINVAL;
+- return (NULL);
++ flags += O_RDWR - O_WRONLY; /* POSIX */
+ }
+
+ if (!(hashp = (HTAB *)calloc(1, sizeof(HTAB))))
+@@ -684,7 +683,7 @@ found:
+ return (ERROR);
+ break;
+ default:
+- abort();
++ LIBC_ABORT("illegal action (%d)", action);
+ }
+ save_bufp->flags &= ~BUF_PIN;
+ return (SUCCESS);