summaryrefslogtreecommitdiff
path: root/compat/dbmopen.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2018-08-31 11:26:31 +0300
committerSergey Poznyakoff <gray@gnu.org>2018-08-31 11:26:31 +0300
commit2ff4ae9c745d4b9e6ee36468c81554027f66c35b (patch)
tree4a6012ba90fc9c4fc9da8bade6fb943efc38d1a0 /compat/dbmopen.c
parent778cc81d55aecd6344d577919cec73e4e6980e2e (diff)
downloadgdbm-2ff4ae9c745d4b9e6ee36468c81554027f66c35b.tar.gz
Various bugfixes.
* compat/dbmopen.c (ndbm_open_dir_file0): Ignore ENOENT. * src/falloc.c (push_avail_block): Free temporary storage no matter what return status. * src/gdbm.h.in (GDBM_FILE_TRUNCATE_ERROR): New error code. * src/gdbmdump.c (_gdbm_dump_ascii): Initialize rc. * src/gdbmerrno.c: Handle new error.code * src/gdbmload.c (gdbm_load_bdb_dump): Initialize rc * src/gdbmopen.c (_gdbm_ftruncate): New function. (gdbm_fd_open): Use _gdbm_ftruncate. Check its return. * src/gdbmseq.c (gdbm_firstkey): Initialize dsize * src/gdbmtool.c (command_generator): Check if cmd is NULL. (shouldn't happen, but anyways). * src/mmap.c (_gdbm_mapped_lseek): Check for vailidity of the 'whence' parameter. * src/systems.h (TRUNCATE): Remove macro. * src/util.c (vgetyn): Remove unnecessary assignment.
Diffstat (limited to 'compat/dbmopen.c')
-rw-r--r--compat/dbmopen.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/compat/dbmopen.c b/compat/dbmopen.c
index b9e7518..0538992 100644
--- a/compat/dbmopen.c
+++ b/compat/dbmopen.c
@@ -87,7 +87,7 @@ ndbm_open_dir_file0 (const char *file_name, int pagfd, int mode)
if ((mode & GDBM_OPENMASK) == GDBM_READER)
/* Ok, try to cope with it. */
return pagfd;
- else
+ else if (errno != ENOENT)
{
gdbm_set_errno (NULL, GDBM_FILE_OPEN_ERROR, TRUE);
return -1;