Loading...
db/hash/FreeBSD/ndbm.c.patch Libc-763.11 /dev/null
--- Libc/Libc-763.11/db/hash/FreeBSD/ndbm.c.patch
+++ /dev/null
@@ -1,62 +0,0 @@
---- ndbm.c.orig	2009-11-06 12:41:16.000000000 -0800
-+++ ndbm.c	2009-11-06 12:41:27.000000000 -0800
-@@ -47,6 +47,9 @@ __FBSDID("$FreeBSD: src/lib/libc/db/hash
- #include <string.h>
- #include <errno.h>
- 
-+#include <db.h>
-+#define _DBM
-+typedef DB DBM;
- #include <ndbm.h>
- #include "hash.h"
- 
-@@ -58,7 +61,8 @@ __FBSDID("$FreeBSD: src/lib/libc/db/hash
- extern DBM *
- dbm_open(file, flags, mode)
- 	const char *file;
--	int flags, mode;
-+	int flags;
-+	mode_t mode;
- {
- 	HASHINFO info;
- 	char path[MAXPATHLEN];
-@@ -124,10 +128,14 @@ dbm_firstkey(db)
- 	int status;
- 	datum retkey;
- 	DBT dbtretkey, dbtretdata;
-+	HTAB *htab = (HTAB *)(db->internal);
- 
- 	status = (db->seq)(db, &dbtretkey, &dbtretdata, R_FIRST);
--	if (status)
-+	if (status) {
- 		dbtretkey.data = NULL;
-+		htab->nextkey_eof = 1;
-+	} else
-+		htab->nextkey_eof = 0;
- 	retkey.dptr = dbtretkey.data;
- 	retkey.dsize = dbtretkey.size;
- 	return (retkey);
-@@ -142,13 +150,20 @@ extern datum
- dbm_nextkey(db)
- 	DBM *db;
- {
--	int status;
-+	int status = 1;
- 	datum retkey;
- 	DBT dbtretkey, dbtretdata;
-+	HTAB *htab = (HTAB *)(db->internal);
- 
--	status = (db->seq)(db, &dbtretkey, &dbtretdata, R_NEXT);
--	if (status)
-+	if (htab->nextkey_eof)
- 		dbtretkey.data = NULL;
-+	else {
-+		status = (db->seq)(db, &dbtretkey, &dbtretdata, R_NEXT);
-+		if (status) {
-+			dbtretkey.data = NULL;
-+			htab->nextkey_eof = 1;
-+		}
-+	}
- 	retkey.dptr = dbtretkey.data;
- 	retkey.dsize = dbtretkey.size;
- 	return (retkey);