diff options
author | Marcus Boerger <helly@php.net> | 2003-02-01 18:59:59 +0000 |
---|---|---|
committer | Marcus Boerger <helly@php.net> | 2003-02-01 18:59:59 +0000 |
commit | 0319e6377588c9bd8d182589c3d8bec4bec8fdef (patch) | |
tree | 981edce762f2aff5768503c4c68c317c3fe4bd21 /ext/dba/dba_dbm.c | |
parent | c4eecf91993dcd431eee5e93e409ce3b1e179192 (diff) | |
download | php-git-0319e6377588c9bd8d182589c3d8bec4bec8fdef.tar.gz |
- unify configure mechanisms (include file handling)
- fix dbm
- allow dbm to be based on gdbm
Diffstat (limited to 'ext/dba/dba_dbm.c')
-rw-r--r-- | ext/dba/dba_dbm.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/ext/dba/dba_dbm.c b/ext/dba/dba_dbm.c index f50d58a03f..06010af589 100644 --- a/ext/dba/dba_dbm.c +++ b/ext/dba/dba_dbm.c @@ -27,7 +27,12 @@ #if DBA_DBM #include "php_dbm.h" -#include <dbm.h> +#ifdef DBM_INCLUDE_FILE +#include DBM_INCLUDE_FILE +#endif +#if DBA_GDBM +#include "php_gdbm.h" +#endif #include <unistd.h> #include <sys/types.h> @@ -108,6 +113,14 @@ DBA_UPDATE_FUNC(dbm) datum gval; DBM_GKEY; + + if (mode == 1) { /* insert */ + gval = fetch(gkey); + if(gval.dptr) { + return FAILURE; + } + } + gval.dptr = (char *) val; gval.dsize = vallen; @@ -179,7 +192,13 @@ DBA_SYNC_FUNC(dbm) DBA_INFO_FUNC(dbm) { - return estrdup("DBM"); +#if DBA_GDBM + if (!strcmp(DBM_VERSION, "GDBM")) + { + return dba_info_gdbm(hnd, info TSRMLS_CC); + } +#endif + return estrdup(DBM_VERSION); } #endif |