⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gdbm-1.8.3-src.diff

📁 开源的数据库管理系统
💻 DIFF
📖 第 1 页 / 共 2 页
字号:
+GDBM_DLL_IMPEXP datum _gdbm_memory;
+GDBM_DLL_IMPEXP char *_gdbm_fetch_val;
diff -ipuwrN -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' gdbm-1.8.3-orig/gdbm-dll.h gdbm-1.8.3-src/gdbm-dll.h
--- gdbm-1.8.3-orig/gdbm-dll.h	1970-01-01 01:00:00.000000000 +0100
+++ gdbm-1.8.3-src/gdbm-dll.h	2004-12-10 21:12:29.437500000 +0100
@@ -0,0 +1,28 @@
+#ifndef _GDBMDLLIMPEXP_H_
+#define _GDBMDLLIMPEXP_H_ 1
+
+#ifndef __GNUC__
+# define __DLL_IMPORT__  __declspec(dllimport)
+# define __DLL_EXPORT__  __declspec(dllexport)
+#else
+# define __DLL_IMPORT__  __attribute__((dllimport)) extern
+# define __DLL_EXPORT__  __attribute__((dllexport)) extern
+#endif 
+
+#if (defined __WIN32__) || (defined _WIN32)
+# ifdef BUILD_GDBM_DLL
+#  define GDBM_DLL_IMPEXP     __DLL_EXPORT__
+# elif defined(BUILD_GDBM_STATIC)
+#  define GDBM_DLL_IMPEXP      
+# elif defined (USE_GDBM_DLL)
+#  define GDBM_DLL_IMPEXP     __DLL_IMPORT__
+# elif defined (USE_GDBM_STATIC)
+#  define GDBM_DLL_IMPEXP      
+# else /* assume USE_GDBM_DLL */
+#  define GDBM_DLL_IMPEXP     __DLL_IMPORT__
+# endif
+#else /* __WIN32__ */
+# define GDBM_DLL_IMPEXP  
+#endif
+
+#endif /* _GDBMDLLIMPEXP_H_ */
diff -ipuwrN -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' gdbm-1.8.3-orig/gdbm.proto gdbm-1.8.3-src/gdbm.proto
--- gdbm-1.8.3-orig/gdbm.proto	1999-05-19 02:16:06.000000000 +0200
+++ gdbm-1.8.3-src/gdbm.proto	2004-12-10 20:42:53.921875000 +0100
@@ -30,6 +30,8 @@
 #ifndef _GDBM_H_
 #define _GDBM_H_
 
+#include <gdbm-dll.h>
+
 /* Parameters to gdbm_open for READERS, WRITERS, and WRITERS who
    can create the database. */
 #define  GDBM_READER  0		/* A reader. */
@@ -72,7 +74,7 @@ typedef struct {int dummy[10];} *GDBM_FI
 #endif
 
 /* External variable, the gdbm build release string. */
-extern char *gdbm_version;	
+GDBM_DLL_IMPEXP char *gdbm_version;	
 
 
 /* GDBM C++ support */
@@ -82,18 +84,18 @@ extern "C" {
 
 /* These are the routines! */
 
-extern GDBM_FILE gdbm_open __P((char *, int, int, int, void (*)()));
-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));
-extern int gdbm_delete __P((GDBM_FILE, datum));
-extern datum gdbm_firstkey __P((GDBM_FILE));
-extern datum gdbm_nextkey __P((GDBM_FILE, datum));
-extern int gdbm_reorganize __P((GDBM_FILE));
-extern void gdbm_sync __P((GDBM_FILE));
-extern int gdbm_exists __P((GDBM_FILE, datum));
-extern int gdbm_setopt __P((GDBM_FILE, int, int *, int));
-extern int gdbm_fdesc __P((GDBM_FILE));
+GDBM_DLL_IMPEXP GDBM_FILE gdbm_open __P((char *, int, int, int, void (*)()));
+GDBM_DLL_IMPEXP void gdbm_close __P((GDBM_FILE));
+GDBM_DLL_IMPEXP int gdbm_store __P((GDBM_FILE, datum, datum, int));
+GDBM_DLL_IMPEXP datum gdbm_fetch __P((GDBM_FILE, datum));
+GDBM_DLL_IMPEXP int gdbm_delete __P((GDBM_FILE, datum));
+GDBM_DLL_IMPEXP datum gdbm_firstkey __P((GDBM_FILE));
+GDBM_DLL_IMPEXP datum gdbm_nextkey __P((GDBM_FILE, datum));
+GDBM_DLL_IMPEXP int gdbm_reorganize __P((GDBM_FILE));
+GDBM_DLL_IMPEXP void gdbm_sync __P((GDBM_FILE));
+GDBM_DLL_IMPEXP int gdbm_exists __P((GDBM_FILE, datum));
+GDBM_DLL_IMPEXP int gdbm_setopt __P((GDBM_FILE, int, int *, int));
+GDBM_DLL_IMPEXP int gdbm_fdesc __P((GDBM_FILE));
 
 #if defined(__cplusplus) || defined(c_plusplus)
 }
diff -ipuwrN -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' gdbm-1.8.3-orig/gdbm.proto2 gdbm-1.8.3-src/gdbm.proto2
--- gdbm-1.8.3-orig/gdbm.proto2	1999-05-19 02:16:06.000000000 +0200
+++ gdbm-1.8.3-src/gdbm.proto2	2004-12-10 20:43:11.031250000 +0100
@@ -6,7 +6,7 @@
 extern "C" {
 #endif
 
-extern char *gdbm_strerror __P((gdbm_error));
+GDBM_DLL_IMPEXP char *gdbm_strerror __P((gdbm_error));
 
 #if defined(__cplusplus) || defined(c_plusplus)
 }
diff -ipuwrN -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' gdbm-1.8.3-orig/gdbmerrno.h gdbm-1.8.3-src/gdbmerrno.h
--- gdbm-1.8.3-orig/gdbmerrno.h	2000-01-19 08:09:52.000000000 +0100
+++ gdbm-1.8.3-src/gdbmerrno.h	2004-12-10 21:53:06.406250000 +0100
@@ -25,7 +25,7 @@
                 Bellingham, WA 98226
        
 *************************************************************************/
-
+#include <gdbm-dll.h>
 
 /* gdbm sets the following error codes. */
 #define	GDBM_NO_ERROR		0
@@ -52,4 +52,4 @@
 
 typedef int gdbm_error;		/* For compatibilities sake. */
 
-extern gdbm_error gdbm_errno;
+GDBM_DLL_IMPEXP gdbm_error gdbm_errno;
diff -ipuwrN -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' gdbm-1.8.3-orig/gdbmopen.c gdbm-1.8.3-src/gdbmopen.c
--- gdbm-1.8.3-orig/gdbmopen.c	2002-01-30 19:39:43.000000000 +0100
+++ gdbm-1.8.3-src/gdbmopen.c	2004-12-18 17:08:11.734375000 +0100
@@ -33,6 +33,12 @@
 #include "gdbmdefs.h"
 #include "gdbmerrno.h"
 
+#ifdef O_BINARY
+	int BINMODE = O_BINARY;
+#else
+	int BINMODE = 0;
+#endif
+
 /* Initialize dbm system.  FILE is a pointer to the file name.  If the file
    has a size of zero bytes, a file initialization procedure is performed,
    setting up the initial structure in the file.  BLOCK_SIZE is used during
@@ -126,20 +132,20 @@ gdbm_open (file, block_size, flags, mode
   switch (flags & GDBM_OPENMASK)
     {
       case GDBM_READER:
-	dbf->desc = open (dbf->name, O_RDONLY, 0);
+	dbf->desc = open (dbf->name, O_RDONLY | BINMODE, 0);
 	break;
 
       case GDBM_WRITER:
-	dbf->desc = open (dbf->name, O_RDWR, 0);
+	dbf->desc = open (dbf->name, O_RDWR | BINMODE, 0);
 	break;
 
       case GDBM_NEWDB:
-	dbf->desc = open (dbf->name, O_RDWR|O_CREAT, mode);
+	dbf->desc = open (dbf->name, O_RDWR|O_CREAT | BINMODE, mode);
 	need_trunc = TRUE;
 	break;
 
       default:
-	dbf->desc = open (dbf->name, O_RDWR|O_CREAT, mode);
+	dbf->desc = open (dbf->name, O_RDWR|O_CREAT | BINMODE, mode);
 	break;
 
     }
diff -ipuwrN -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' gdbm-1.8.3-orig/ndbm.h gdbm-1.8.3-src/ndbm.h
--- gdbm-1.8.3-orig/ndbm.h	1999-05-19 02:16:07.000000000 +0200
+++ gdbm-1.8.3-src/ndbm.h	2004-12-10 20:23:46.812500000 +0100
@@ -30,6 +30,7 @@
 #define  DBM_INSERT  0
 #define  DBM_REPLACE 1
 
+#include <gdbm-dll.h>
 
 /* The data and key structure.  This structure is defined for compatibility. */
 typedef struct {
@@ -44,28 +45,28 @@ typedef struct {int dummy[10];} DBM;
 
 /* These are the routines (with some macros defining them!) */
 
-extern DBM 	*dbm_open ();
+GDBM_DLL_IMPEXP DBM 	*dbm_open ();
 
-extern void	 dbm_close ();
+GDBM_DLL_IMPEXP void	 dbm_close ();
 
-extern datum	 dbm_fetch ();
+GDBM_DLL_IMPEXP datum	 dbm_fetch ();
 
-extern int	 dbm_store ();
+GDBM_DLL_IMPEXP int	 dbm_store ();
 
-extern int	 dbm_delete ();
+GDBM_DLL_IMPEXP int	 dbm_delete ();
 
-extern int	 dbm_delete ();
+GDBM_DLL_IMPEXP int	 dbm_delete ();
 
-extern datum	 dbm_firstkey ();
+GDBM_DLL_IMPEXP datum	 dbm_firstkey ();
 
-extern datum	 dbm_nextkey ();
+GDBM_DLL_IMPEXP datum	 dbm_nextkey ();
 
 #define		 dbm_error(dbf)  (0)
 
 #define		 dbm_clearerr(dbf)
 
-extern int	 dbm_dirfno ();
+GDBM_DLL_IMPEXP int	 dbm_dirfno ();
 
-extern int	 dbm_pagfno ();
+GDBM_DLL_IMPEXP int	 dbm_pagfno ();
 
-extern int	 dbm_rdonly ();
+GDBM_DLL_IMPEXP int	 dbm_rdonly ();
diff -ipuwrN -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' gdbm-1.8.3-orig/systems.h gdbm-1.8.3-src/systems.h
--- gdbm-1.8.3-orig/systems.h	2002-10-07 20:44:31.000000000 +0200
+++ gdbm-1.8.3-src/systems.h	2004-12-10 20:23:46.812500000 +0100
@@ -140,7 +140,11 @@
 #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
+#ifdef _WIN32
+		| O_BINARY
+#endif /* _WIN32 */		
+		, mode));
 #endif
 
 #ifndef STDERR_FILENO
diff -ipuwrN -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' gdbm-1.8.3-orig/testgdbm.c gdbm-1.8.3-src/testgdbm.c
--- gdbm-1.8.3-orig/testgdbm.c	1999-05-19 02:16:07.000000000 +0200
+++ gdbm-1.8.3-src/testgdbm.c	2004-12-18 17:12:16.171875000 +0100
@@ -37,9 +37,11 @@
 
 #include "getopt.h"
 
-extern const char * gdbm_version;
+#include <gdbm-dll.h>
 
-extern const char *gdbm_strerror __P((gdbm_error));
+GDBM_DLL_IMPEXP const char * gdbm_version;
+
+GDBM_DLL_IMPEXP const char *gdbm_strerror __P((gdbm_error));
 
 gdbm_file_info *gdbm_file;
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -