Lines 1-52
Link Here
|
1 |
--- ./dkim-filter/dkim-db.c.orig 2008-03-05 02:41:25.000000000 +0900 |
|
|
2 |
+++ ./dkim-filter/dkim-db.c 2008-03-12 23:57:52.000000000 +0900 |
3 |
@@ -46,15 +46,22 @@ |
4 |
int flags = 0; |
5 |
#endif /* DB_VERSION_CHECK(2,0,0) */ |
6 |
int status = 0; |
7 |
+ DBTYPE dbtype; |
8 |
|
9 |
assert(db != NULL); |
10 |
assert(file != NULL); |
11 |
|
12 |
#if DB_VERSION_CHECK(2,0,0) |
13 |
if (ro) |
14 |
+ { |
15 |
flags |= DB_RDONLY; |
16 |
+ dbtype = DB_UNKNOWN; |
17 |
+ } |
18 |
else |
19 |
+ { |
20 |
flags |= DB_CREATE; |
21 |
+ dbtype = DB_BTREE; |
22 |
+ } |
23 |
#endif /* DB_VERSION_CHECK(2,0,0) */ |
24 |
|
25 |
#if DB_VERSION_CHECK(3,0,0) |
26 |
@@ -62,21 +69,21 @@ |
27 |
if (status == 0) |
28 |
{ |
29 |
# if DB_VERSION_CHECK(4,1,25) |
30 |
- status = (*db)->open(*db, NULL, file, NULL, DB_UNKNOWN, |
31 |
+ status = (*db)->open((*db), NULL, file, NULL, dbtype, |
32 |
flags, 0); |
33 |
# else /* DB_VERSION_CHECK(4,1,25) */ |
34 |
- status = (*db)->open(*db, file, NULL, DB_UNKNOWN, |
35 |
- flags, 0); |
36 |
+ status = (*db)->open((*db), file, NULL, dbtype, flags, 0); |
37 |
# endif /* DB_VERSION_CHECK(4,1,25) */ |
38 |
} |
39 |
#elif DB_VERSION_CHECK(2,0,0) |
40 |
- status = db_open(file, DB_HASH, flags, DB_MODE, NULL, NULL, db); |
41 |
+ status = db_open(file, dbtype, flags, DB_MODE, NULL, NULL, db); |
42 |
#else /* DB_VERSION_MAJOR < 2 */ |
43 |
*db = dbopen(file, (ro ? O_RDONLY :(O_CREAT|O_RDWR)), DB_MODE, |
44 |
- DB_HASH, NULL); |
45 |
+ dbtype, NULL); |
46 |
if (*db == NULL) |
47 |
status = errno; |
48 |
#endif /* DB_VERSION_CHECK */ |
49 |
+ |
50 |
return status; |
51 |
} |
52 |
|