helly Fri Jan 31 15:10:11 2003 EDT
Modified files: (Branch: PHP_4_3)
/php4/ext/dba dba.c dba_cdb.c dba_db2.c dba_db3.c dba_db4.c
dba_dbm.c dba_flatfile.c dba_gdbm.c dba_ndbm.c
php_dba.h
/php4/ext/dba/libcdb cdb.c cdb.h cdb_make.c cdb_make.h
/php4/ext/dba/libflatfile flatfile.c flatfile.h
Log:
MFH: Version info
Index: php4/ext/dba/dba.c
diff -u php4/ext/dba/dba.c:1.61.2.11 php4/ext/dba/dba.c:1.61.2.12
--- php4/ext/dba/dba.c:1.61.2.11 Tue Dec 31 11:34:17 2002
+++ php4/ext/dba/dba.c Fri Jan 31 15:10:10 2003
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dba.c,v 1.61.2.11 2002/12/31 16:34:17 sebastian Exp $ */
+/* $Id: dba.c,v 1.61.2.12 2003/01/31 20:10:10 helly Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -147,7 +147,7 @@
{\
#alias, flags, dba_open_##name, dba_close_##name, dba_fetch_##name,
dba_update_##name, \
dba_exists_##name, dba_delete_##name, dba_firstkey_##name, dba_nextkey_##name,
\
- dba_optimize_##name, dba_sync_##name \
+ dba_optimize_##name, dba_sync_##name, dba_info_##name \
},
#define DBA_HND(name, flags) DBA_NAMED_HND(name, name, flags)
@@ -191,7 +191,7 @@
#if DBA_FLATFILE
DBA_HND(flatfile, DBA_STREAM_OPEN|DBA_LOCK_ALL) /* No lock in lib */
#endif
- { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
+ { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
};
static int le_db;
@@ -750,23 +750,26 @@
}
/* }}} */
-/* {{{ proto array dba_handlers()
+/* {{{ proto array dba_handlers([bool full_info])
List configured databases */
PHP_FUNCTION(dba_handlers)
{
dba_handler *hptr;
+ zend_bool full_info = 0;
- if (ZEND_NUM_ARGS()!=0) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &full_info) ==
+FAILURE) {
ZEND_WRONG_PARAM_COUNT();
RETURN_FALSE;
}
- if (array_init(return_value) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Unable to initialize
array");
- RETURN_FALSE;
- }
+ array_init(return_value);
+
for(hptr = handler; hptr->name; hptr++) {
- add_next_index_string(return_value, hptr->name, 1);
+ if (full_info) {
+ add_assoc_string(return_value, hptr->name, hptr->info(hptr,
+NULL TSRMLS_CC), 0);
+ } else {
+ add_next_index_string(return_value, hptr->name, 1);
+ }
}
}
/* }}} */
@@ -784,10 +787,8 @@
RETURN_FALSE;
}
- if (array_init(return_value) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Unable to initialize
array");
- RETURN_FALSE;
- }
+ array_init(return_value);
+
numitems = zend_hash_next_free_element(&EG(regular_list));
for (i=1; i<numitems; i++) {
if (zend_hash_index_find(&EG(regular_list), i, (void **)
&le)==FAILURE) {
Index: php4/ext/dba/dba_cdb.c
diff -u php4/ext/dba/dba_cdb.c:1.23.2.2 php4/ext/dba/dba_cdb.c:1.23.2.3
--- php4/ext/dba/dba_cdb.c:1.23.2.2 Tue Dec 31 11:34:18 2002
+++ php4/ext/dba/dba_cdb.c Fri Jan 31 15:10:11 2003
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dba_cdb.c,v 1.23.2.2 2002/12/31 16:34:18 sebastian Exp $ */
+/* $Id: dba_cdb.c,v 1.23.2.3 2003/01/31 20:10:11 helly Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -322,6 +322,19 @@
{
/* this is read-only */
return SUCCESS;
+}
+
+DBA_INFO_FUNC(cdb)
+{
+#if DBA_CDB_BUILTIN
+ if (!strcmp(hnd->name, "cdb")) {
+ return estrdup(cdb_version());
+ } else {
+ return estrdup(cdb_make_version());
+ }
+#else
+ return estrdup("External");
+#endif
}
#endif
Index: php4/ext/dba/dba_db2.c
diff -u php4/ext/dba/dba_db2.c:1.30.2.2 php4/ext/dba/dba_db2.c:1.30.2.3
--- php4/ext/dba/dba_db2.c:1.30.2.2 Tue Dec 31 11:34:18 2002
+++ php4/ext/dba/dba_db2.c Fri Jan 31 15:10:11 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dba_db2.c,v 1.30.2.2 2002/12/31 16:34:18 sebastian Exp $ */
+/* $Id: dba_db2.c,v 1.30.2.3 2003/01/31 20:10:11 helly Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -186,6 +186,11 @@
DB2_DATA;
return dba->dbp->sync(dba->dbp, 0) ? FAILURE : SUCCESS;
+}
+
+DBA_INFO_FUNC(db2)
+{
+ return estrdup(DB_VERSION_STRING);
}
#endif
Index: php4/ext/dba/dba_db3.c
diff -u php4/ext/dba/dba_db3.c:1.21.2.4 php4/ext/dba/dba_db3.c:1.21.2.5
--- php4/ext/dba/dba_db3.c:1.21.2.4 Tue Dec 31 11:34:18 2002
+++ php4/ext/dba/dba_db3.c Fri Jan 31 15:10:11 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dba_db3.c,v 1.21.2.4 2002/12/31 16:34:18 sebastian Exp $ */
+/* $Id: dba_db3.c,v 1.21.2.5 2003/01/31 20:10:11 helly Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -215,6 +215,11 @@
DB3_DATA;
return dba->dbp->sync(dba->dbp, 0) ? FAILURE : SUCCESS;
+}
+
+DBA_INFO_FUNC(db3)
+{
+ return estrdup(DB_VERSION_STRING);
}
#endif
Index: php4/ext/dba/dba_db4.c
diff -u php4/ext/dba/dba_db4.c:1.6.2.2 php4/ext/dba/dba_db4.c:1.6.2.3
--- php4/ext/dba/dba_db4.c:1.6.2.2 Tue Dec 31 11:34:18 2002
+++ php4/ext/dba/dba_db4.c Fri Jan 31 15:10:11 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dba_db4.c,v 1.6.2.2 2002/12/31 16:34:18 sebastian Exp $ */
+/* $Id: dba_db4.c,v 1.6.2.3 2003/01/31 20:10:11 helly Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -220,6 +220,11 @@
DB4_DATA;
return dba->dbp->sync(dba->dbp, 0) ? FAILURE : SUCCESS;
+}
+
+DBA_INFO_FUNC(db4)
+{
+ return estrdup(DB_VERSION_STRING);
}
#endif
Index: php4/ext/dba/dba_dbm.c
diff -u php4/ext/dba/dba_dbm.c:1.22.2.2 php4/ext/dba/dba_dbm.c:1.22.2.3
--- php4/ext/dba/dba_dbm.c:1.22.2.2 Tue Dec 31 11:34:19 2002
+++ php4/ext/dba/dba_dbm.c Fri Jan 31 15:10:11 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dba_dbm.c,v 1.22.2.2 2002/12/31 16:34:19 sebastian Exp $ */
+/* $Id: dba_dbm.c,v 1.22.2.3 2003/01/31 20:10:11 helly Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -175,6 +175,11 @@
DBA_SYNC_FUNC(dbm)
{
return SUCCESS;
+}
+
+DBA_INFO_FUNC(dbm)
+{
+ return estrdup("DBM");
}
#endif
Index: php4/ext/dba/dba_flatfile.c
diff -u php4/ext/dba/dba_flatfile.c:1.8.2.2 php4/ext/dba/dba_flatfile.c:1.8.2.3
--- php4/ext/dba/dba_flatfile.c:1.8.2.2 Tue Dec 31 11:34:19 2002
+++ php4/ext/dba/dba_flatfile.c Fri Jan 31 15:10:11 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dba_flatfile.c,v 1.8.2.2 2002/12/31 16:34:19 sebastian Exp $ */
+/* $Id: dba_flatfile.c,v 1.8.2.3 2003/01/31 20:10:11 helly Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -161,6 +161,11 @@
{
/* dummy */
return SUCCESS;
+}
+
+DBA_INFO_FUNC(flatfile)
+{
+ return estrdup(flatfile_version());
}
#endif
Index: php4/ext/dba/dba_gdbm.c
diff -u php4/ext/dba/dba_gdbm.c:1.16.2.2 php4/ext/dba/dba_gdbm.c:1.16.2.3
--- php4/ext/dba/dba_gdbm.c:1.16.2.2 Tue Dec 31 11:34:19 2002
+++ php4/ext/dba/dba_gdbm.c Fri Jan 31 15:10:11 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dba_gdbm.c,v 1.16.2.2 2002/12/31 16:34:19 sebastian Exp $ */
+/* $Id: dba_gdbm.c,v 1.16.2.3 2003/01/31 20:10:11 helly Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -180,6 +180,12 @@
gdbm_sync(dba->dbf);
return SUCCESS;
}
+
+DBA_INFO_FUNC(gdbm)
+{
+ return estrdup(gdbm_version);
+}
+
#endif
/*
Index: php4/ext/dba/dba_ndbm.c
diff -u php4/ext/dba/dba_ndbm.c:1.14.2.1 php4/ext/dba/dba_ndbm.c:1.14.2.2
--- php4/ext/dba/dba_ndbm.c:1.14.2.1 Tue Dec 31 11:34:19 2002
+++ php4/ext/dba/dba_ndbm.c Fri Jan 31 15:10:11 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dba_ndbm.c,v 1.14.2.1 2002/12/31 16:34:19 sebastian Exp $ */
+/* $Id: dba_ndbm.c,v 1.14.2.2 2003/01/31 20:10:11 helly Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -153,6 +153,12 @@
{
return SUCCESS;
}
+
+DBA_INFO_FUNC(ndbm)
+{
+ return estrdup("NDBM" );
+}
+
#endif
/*
Index: php4/ext/dba/php_dba.h
diff -u php4/ext/dba/php_dba.h:1.19.2.4 php4/ext/dba/php_dba.h:1.19.2.5
--- php4/ext/dba/php_dba.h:1.19.2.4 Tue Dec 31 11:34:19 2002
+++ php4/ext/dba/php_dba.h Fri Jan 31 15:10:11 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_dba.h,v 1.19.2.4 2002/12/31 16:34:19 sebastian Exp $ */
+/* $Id: php_dba.h,v 1.19.2.5 2003/01/31 20:10:11 helly Exp $ */
#ifndef PHP_DBA_H
#define PHP_DBA_H
@@ -81,6 +81,8 @@
char* (*nextkey)(dba_info *, int * TSRMLS_DC);
int (*optimize)(dba_info * TSRMLS_DC);
int (*sync)(dba_info * TSRMLS_DC);
+ char* (*info)(struct dba_handler *hnd, dba_info * TSRMLS_DC);
+ /* dba_info==NULL: Handler info, dba_info!=NULL: Database info */
} dba_handler;
/* common prototypes which must be supplied by modules */
@@ -105,6 +107,8 @@
int dba_optimize_##x(dba_info *info TSRMLS_DC)
#define DBA_SYNC_FUNC(x) \
int dba_sync_##x(dba_info *info TSRMLS_DC)
+#define DBA_INFO_FUNC(x) \
+ char *dba_info_##x(dba_handler *hnd, dba_info *info TSRMLS_DC)
#define DBA_FUNCS(x) \
DBA_OPEN_FUNC(x); \
@@ -116,7 +120,8 @@
DBA_FIRSTKEY_FUNC(x); \
DBA_NEXTKEY_FUNC(x); \
DBA_OPTIMIZE_FUNC(x); \
- DBA_SYNC_FUNC(x)
+ DBA_SYNC_FUNC(x); \
+ DBA_INFO_FUNC(x)
#define VALLEN(p) Z_STRVAL_PP(p), Z_STRLEN_PP(p)
Index: php4/ext/dba/libcdb/cdb.c
diff -u php4/ext/dba/libcdb/cdb.c:1.3.2.2 php4/ext/dba/libcdb/cdb.c:1.3.2.3
--- php4/ext/dba/libcdb/cdb.c:1.3.2.2 Tue Dec 31 11:34:19 2002
+++ php4/ext/dba/libcdb/cdb.c Fri Jan 31 15:10:11 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: cdb.c,v 1.3.2.2 2002/12/31 16:34:19 sebastian Exp $ */
+/* $Id: cdb.c,v 1.3.2.3 2003/01/31 20:10:11 helly Exp $ */
/* incorporated from D.J.Bernstein's cdb-0.75 (http://cr.yp.to/cdb.html)*/
@@ -191,5 +191,12 @@
{
cdb_findstart(c TSRMLS_CC);
return cdb_findnext(c, key, len TSRMLS_CC);
+}
+/* }}} */
+
+/* {{{ cdb_version */
+char *cdb_version()
+{
+ return "0.75, $Revision: 1.3.2.3 $";
}
/* }}} */
Index: php4/ext/dba/libcdb/cdb.h
diff -u php4/ext/dba/libcdb/cdb.h:1.1.2.2 php4/ext/dba/libcdb/cdb.h:1.1.2.3
--- php4/ext/dba/libcdb/cdb.h:1.1.2.2 Tue Dec 31 11:34:19 2002
+++ php4/ext/dba/libcdb/cdb.h Fri Jan 31 15:10:11 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: cdb.h,v 1.1.2.2 2002/12/31 16:34:19 sebastian Exp $ */
+/* $Id: cdb.h,v 1.1.2.3 2003/01/31 20:10:11 helly Exp $ */
/* incorporated from D.J.Bernstein's cdb-0.75 (http://cr.yp.to/cdb.html)*/
@@ -51,5 +51,7 @@
#define cdb_datapos(c) ((c)->dpos)
#define cdb_datalen(c) ((c)->dlen)
+
+char *cdb_version();
#endif
Index: php4/ext/dba/libcdb/cdb_make.c
diff -u php4/ext/dba/libcdb/cdb_make.c:1.2.2.2 php4/ext/dba/libcdb/cdb_make.c:1.2.2.3
--- php4/ext/dba/libcdb/cdb_make.c:1.2.2.2 Tue Dec 31 11:34:19 2002
+++ php4/ext/dba/libcdb/cdb_make.c Fri Jan 31 15:10:11 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: cdb_make.c,v 1.2.2.2 2002/12/31 16:34:19 sebastian Exp $ */
+/* $Id: cdb_make.c,v 1.2.2.3 2003/01/31 20:10:11 helly Exp $ */
/* incorporated from D.J.Bernstein's cdb-0.75 (http://cr.yp.to/cdb.html)*/
@@ -238,3 +238,9 @@
return php_stream_flush(c->fp);
}
/* }}} */
+
+/* {{{ cdb_make_version */
+char *cdb_make_version()
+{
+ return "0.75, $Revision: 1.2.2.3 $";
+}
Index: php4/ext/dba/libcdb/cdb_make.h
diff -u php4/ext/dba/libcdb/cdb_make.h:1.1.2.2 php4/ext/dba/libcdb/cdb_make.h:1.1.2.3
--- php4/ext/dba/libcdb/cdb_make.h:1.1.2.2 Tue Dec 31 11:34:19 2002
+++ php4/ext/dba/libcdb/cdb_make.h Fri Jan 31 15:10:11 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: cdb_make.h,v 1.1.2.2 2002/12/31 16:34:19 sebastian Exp $ */
+/* $Id: cdb_make.h,v 1.1.2.3 2003/01/31 20:10:11 helly Exp $ */
/* incorporated from D.J.Bernstein's cdb-0.75 (http://cr.yp.to/cdb.html)*/
@@ -59,5 +59,6 @@
int cdb_make_addend(struct cdb_make *, unsigned int, unsigned int, uint32 TSRMLS_DC);
int cdb_make_add(struct cdb_make *, char *, unsigned int, char *, unsigned int
TSRMLS_DC);
int cdb_make_finish(struct cdb_make * TSRMLS_DC);
+char *cdb_make_version();
#endif
Index: php4/ext/dba/libflatfile/flatfile.c
diff -u php4/ext/dba/libflatfile/flatfile.c:1.5.2.2
php4/ext/dba/libflatfile/flatfile.c:1.5.2.3
--- php4/ext/dba/libflatfile/flatfile.c:1.5.2.2 Tue Dec 31 11:34:20 2002
+++ php4/ext/dba/libflatfile/flatfile.c Fri Jan 31 15:10:11 2003
@@ -19,7 +19,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: flatfile.c,v 1.5.2.2 2002/12/31 16:34:20 sebastian Exp $ */
+/* $Id: flatfile.c,v 1.5.2.3 2003/01/31 20:10:11 helly Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -294,6 +294,13 @@
return(buf);
}
/* }}} */
+
+/* {{{ flatfile_version */
+char *flatfile_version()
+{
+ return "1.0, $Revision: 1.5.2.3 $";
+}
+/* }}} */
/*
* Local variables:
Index: php4/ext/dba/libflatfile/flatfile.h
diff -u php4/ext/dba/libflatfile/flatfile.h:1.4.2.2
php4/ext/dba/libflatfile/flatfile.h:1.4.2.3
--- php4/ext/dba/libflatfile/flatfile.h:1.4.2.2 Tue Dec 31 11:34:20 2002
+++ php4/ext/dba/libflatfile/flatfile.h Fri Jan 31 15:10:11 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: flatfile.h,v 1.4.2.2 2002/12/31 16:34:20 sebastian Exp $ */
+/* $Id: flatfile.h,v 1.4.2.3 2003/01/31 20:10:11 helly Exp $ */
#ifndef PHP_LIBDBM_H
#define PHP_LIBDBM_H
@@ -43,5 +43,6 @@
int flatfile_findkey(flatfile *dba, datum key_datum TSRMLS_DC);
datum flatfile_firstkey(flatfile *dba TSRMLS_DC);
datum flatfile_nextkey(flatfile *dba TSRMLS_DC);
+char *flatfile_version();
#endif
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php