diff options
Diffstat (limited to 'gdbm-1.15-win32.patch')
-rw-r--r-- | gdbm-1.15-win32.patch | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/gdbm-1.15-win32.patch b/gdbm-1.15-win32.patch index 2fae94c6529e..b1525b9d0796 100644 --- a/gdbm-1.15-win32.patch +++ b/gdbm-1.15-win32.patch @@ -63,7 +63,7 @@ diff -urN gdbm-1.15_orig/compat/dbmopen.c gdbm-1.15/compat/dbmopen.c 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); + gdbm_set_errno (NULL, GDBM_FILE_OPEN_ERROR, TRUE); @@ -458,6 +458,15 @@ diff -urN gdbm-1.15_orig/src/gdbmopen.c gdbm-1.15/src/gdbmopen.c int *ret_dir_size, int *ret_dir_bits) { /* Create the initial hash table directory. */ +@@ -224,7 +224,7 @@ + return ftruncate (dbf->desc, 0); + #else + int fd; +- fd = open (dbf->name, O_RDWR|O_TRUNC, mode); ++ fd = open (dbf->name, O_RDWR|O_TRUNC|O_BINARY, mode); + if (fd == -1) + return -1; + return close (fd); @@ -355,8 +355,7 @@ if (!(flags & GDBM_CLOERROR)) dbf->desc = -1; @@ -489,15 +498,16 @@ diff -urN gdbm-1.15_orig/src/gdbmopen.c gdbm-1.15/src/gdbmopen.c diff -urN gdbm-1.15_orig/src/gdbmtool.c gdbm-1.15/src/gdbmtool.c --- gdbm-1.15_orig/src/gdbmtool.c 2018-06-14 14:53:35.000000000 +0300 +++ gdbm-1.15/src/gdbmtool.c 2018-06-17 20:55:52.053880600 +0300 -@@ -22,8 +22,6 @@ +@@ -22,9 +22,6 @@ #include <errno.h> #include <ctype.h> #include <signal.h> -#include <pwd.h> -#include <sys/ioctl.h> - #ifdef HAVE_SYS_TERMIOS_H - # include <sys/termios.h> - #endif +-#include <termios.h> + #include <stdarg.h> + #ifdef HAVE_LOCALE_H + # include <locale.h> @@ -1993,6 +1995,7 @@ { istr = instream_file_create (GDBMTOOLRC); @@ -802,7 +812,7 @@ diff -urN gdbm-1.15_orig/src/systems.h gdbm-1.15/src/systems.h /* Include all system headers first. */ +#ifdef _WIN32 +# undef _WIN32_WINNT -+# define _WIN32_WINNT 0x0501 ++# define _WIN32_WINNT 0x0601 +# include <windows.h> +#endif #include <sys/types.h> @@ -819,15 +829,7 @@ diff -urN gdbm-1.15_orig/src/systems.h gdbm-1.15/src/systems.h /* Default block size. Some systems do not have blocksize in their stat record. This code uses the BSD blocksize from stat. */ -@@ -56,11 +65,14 @@ - #if HAVE_FTRUNCATE - # define TRUNCATE(dbf) ftruncate (dbf->desc, 0) - #else --# define TRUNCATE(dbf) close( open (dbf->name, O_RDWR|O_TRUNC, mode)); -+# define TRUNCATE(dbf) close( open (dbf->name, O_RDWR|O_TRUNC|O_BINARY, mode)); - #endif - - #ifndef STDERR_FILENO +@@ -62,4 +62,7 @@ # define STDERR_FILENO 2 #endif |