From 0319e6377588c9bd8d182589c3d8bec4bec8fdef Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Sat, 1 Feb 2003 18:59:59 +0000 Subject: - unify configure mechanisms (include file handling) - fix dbm - allow dbm to be based on gdbm --- ext/dba/dba_dbm.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'ext/dba/dba_dbm.c') 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 +#ifdef DBM_INCLUDE_FILE +#include DBM_INCLUDE_FILE +#endif +#if DBA_GDBM +#include "php_gdbm.h" +#endif #include #include @@ -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 -- cgit v1.2.1