iliaa Tue Jan 14 21:31:17 2003 EDT
Modified files:
/php4/ext/dbase dbase.c
Log:
Removed pointless checks around array_init() & ZE memory allocation macros.
Changed php_error to php_error_docref.
Dropped getParam* parameter parsing API in favor of zend_get_parameters*.
Index: php4/ext/dbase/dbase.c
diff -u php4/ext/dbase/dbase.c:1.61 php4/ext/dbase/dbase.c:1.62
--- php4/ext/dbase/dbase.c:1.61 Tue Dec 31 11:06:26 2002
+++ php4/ext/dbase/dbase.c Tue Jan 14 21:31:16 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dbase.c,v 1.61 2002/12/31 16:06:26 sebastian Exp $ */
+/* $Id: dbase.c,v 1.62 2003/01/15 02:31:16 iliaa Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -118,28 +118,28 @@
Opens a dBase-format database file */
PHP_FUNCTION(dbase_open)
{
- pval *dbf_name, *options;
+ zval **dbf_name, **options;
dbhead_t *dbh;
int handle;
DBase_TLS_VARS;
- if (ZEND_NUM_ARGS() != 2 || getParameters(ht, 2, &dbf_name,
&options)==FAILURE) {
+ if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &dbf_name, &options) ==
+FAILURE) {
WRONG_PARAM_COUNT;
}
- convert_to_string(dbf_name);
- convert_to_long(options);
+ convert_to_string_ex(dbf_name);
+ convert_to_long_ex(options);
- if (PG(safe_mode) && (!php_checkuid(Z_STRVAL_P(dbf_name), NULL,
CHECKUID_CHECK_FILE_AND_DIR))) {
+ if (PG(safe_mode) && (!php_checkuid(Z_STRVAL_PP(dbf_name), NULL,
+CHECKUID_CHECK_FILE_AND_DIR))) {
RETURN_FALSE;
}
- if (php_check_open_basedir(Z_STRVAL_P(dbf_name) TSRMLS_CC)) {
+ if (php_check_open_basedir(Z_STRVAL_PP(dbf_name) TSRMLS_CC)) {
RETURN_FALSE;
}
- dbh = dbf_open(Z_STRVAL_P(dbf_name), Z_LVAL_P(options) TSRMLS_CC);
+ dbh = dbf_open(Z_STRVAL_P(dbf_name), Z_LVAL_PP(options) TSRMLS_CC);
if (dbh == NULL) {
- php_error(E_WARNING, "unable to open database %s",
Z_STRVAL_P(dbf_name));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to open database
+%s", Z_STRVAL_PP(dbf_name));
RETURN_FALSE;
}
@@ -152,22 +152,22 @@
Closes an open dBase-format database file */
PHP_FUNCTION(dbase_close)
{
- pval *dbh_id;
+ zval **dbh_id;
dbhead_t *dbh;
int dbh_type;
DBase_TLS_VARS;
- if (ZEND_NUM_ARGS() != 1 || getParameters(ht, 1, &dbh_id)==FAILURE) {
+ if (ZEND_NUM_ARGS() != 1 || (zend_get_parameters_ex(1, &dbh_id) == FAILURE)) {
WRONG_PARAM_COUNT;
}
- convert_to_long(dbh_id);
- dbh = zend_list_find(Z_LVAL_P(dbh_id), &dbh_type);
+ convert_to_long_ex(dbh_id);
+ dbh = zend_list_find(Z_LVAL_PP(dbh_id), &dbh_type);
if (!dbh || dbh_type != DBase_GLOBAL(le_dbhead)) {
- php_error(E_WARNING, "Unable to find database for identifier %d",
Z_LVAL_P(dbh_id));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to find database
+for identifier %d", Z_LVAL_PP(dbh_id));
RETURN_FALSE;
}
- zend_list_delete(Z_LVAL_P(dbh_id));
+ zend_list_delete(Z_LVAL_PP(dbh_id));
RETURN_TRUE;
}
/* }}} */
@@ -176,18 +176,18 @@
Returns the number of records in the database */
PHP_FUNCTION(dbase_numrecords)
{
- pval *dbh_id;
+ zval **dbh_id;
dbhead_t *dbh;
int dbh_type;
DBase_TLS_VARS;
- if (ZEND_NUM_ARGS() != 1 || getParameters(ht, 1, &dbh_id)==FAILURE) {
+ if (ZEND_NUM_ARGS() != 1 || (zend_get_parameters_ex(1, &dbh_id) == FAILURE)) {
WRONG_PARAM_COUNT;
}
- convert_to_long(dbh_id);
- dbh = zend_list_find(Z_LVAL_P(dbh_id), &dbh_type);
+ convert_to_long_ex(dbh_id);
+ dbh = zend_list_find(Z_LVAL_PP(dbh_id), &dbh_type);
if (!dbh || dbh_type != DBase_GLOBAL(le_dbhead)) {
- php_error(E_WARNING, "Unable to find database for identifier %d",
Z_LVAL_P(dbh_id));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to find database
+for identifier %d", Z_LVAL_PP(dbh_id));
RETURN_FALSE;
}
@@ -199,18 +199,18 @@
Returns the number of fields (columns) in the database */
PHP_FUNCTION(dbase_numfields)
{
- pval *dbh_id;
+ zval **dbh_id;
dbhead_t *dbh;
int dbh_type;
DBase_TLS_VARS;
- if (ZEND_NUM_ARGS() != 1 || getParameters(ht, 1, &dbh_id)==FAILURE) {
+ if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &dbh_id) == FAILURE) {
WRONG_PARAM_COUNT;
}
- convert_to_long(dbh_id);
- dbh = zend_list_find(Z_LVAL_P(dbh_id), &dbh_type);
+ convert_to_long_ex(dbh_id);
+ dbh = zend_list_find(Z_LVAL_PP(dbh_id), &dbh_type);
if (!dbh || dbh_type != DBase_GLOBAL(le_dbhead)) {
- php_error(E_WARNING, "Unable to find database for identifier %d",
Z_LVAL_P(dbh_id));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to find database
+for identifier %d", Z_LVAL_PP(dbh_id));
RETURN_FALSE;
}
@@ -222,18 +222,18 @@
Packs the database (deletes records marked for deletion) */
PHP_FUNCTION(dbase_pack)
{
- pval *dbh_id;
+ zval **dbh_id;
dbhead_t *dbh;
int dbh_type;
DBase_TLS_VARS;
- if (ZEND_NUM_ARGS() != 1 || getParameters(ht, 1, &dbh_id)==FAILURE) {
+ if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &dbh_id) == FAILURE) {
WRONG_PARAM_COUNT;
}
- convert_to_long(dbh_id);
- dbh = zend_list_find(Z_LVAL_P(dbh_id), &dbh_type);
+ convert_to_long_ex(dbh_id);
+ dbh = zend_list_find(Z_LVAL_PP(dbh_id), &dbh_type);
if (!dbh || dbh_type != DBase_GLOBAL(le_dbhead)) {
- php_error(E_WARNING, "Unable to find database for identifier %d",
Z_LVAL_P(dbh_id));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to find database
+for identifier %d", Z_LVAL_PP(dbh_id));
RETURN_FALSE;
}
@@ -247,7 +247,7 @@
Adds a record to the database */
PHP_FUNCTION(dbase_add_record)
{
- pval *dbh_id, *fields, **field;
+ zval **dbh_id, **fields, **field;
dbhead_t *dbh;
int dbh_type;
@@ -257,40 +257,36 @@
int i;
DBase_TLS_VARS;
- if (ZEND_NUM_ARGS() != 2 || getParameters(ht, 2, &dbh_id, &fields)==FAILURE) {
+ if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &dbh_id, &fields) ==
+FAILURE) {
WRONG_PARAM_COUNT;
}
- convert_to_long(dbh_id);
- if (Z_TYPE_P(fields) != IS_ARRAY) {
- php_error(E_WARNING, "Expected array as second parameter");
+ convert_to_long_ex(dbh_id);
+ if (Z_TYPE_PP(fields) != IS_ARRAY) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Expected array as second
+parameter");
RETURN_FALSE;
}
- dbh = zend_list_find(Z_LVAL_P(dbh_id), &dbh_type);
+ dbh = zend_list_find(Z_LVAL_PP(dbh_id), &dbh_type);
if (!dbh || dbh_type != DBase_GLOBAL(le_dbhead)) {
- php_error(E_WARNING, "Unable to find database for identifier %d",
Z_LVAL_P(dbh_id));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to find database
+for identifier %d", Z_LVAL_PP(dbh_id));
RETURN_FALSE;
}
- num_fields = zend_hash_num_elements(Z_ARRVAL_P(fields));
+ num_fields = zend_hash_num_elements(Z_ARRVAL_PP(fields));
if (num_fields != dbh->db_nfields) {
- php_error(E_WARNING, "Wrong number of fields specified");
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Wrong number of fields
+specified");
RETURN_FALSE;
}
cp = t_cp = (char *)emalloc(dbh->db_rlen + 1);
- if (!cp) {
- php_error(E_WARNING, "unable to allocate memory");
- RETURN_FALSE;
- }
*t_cp++ = VALID_RECORD;
dbf = dbh->db_fields;
for (i = 0, cur_f = dbf; cur_f < &dbf[num_fields]; i++, cur_f++) {
zval tmp;
- if (zend_hash_index_find(Z_ARRVAL_P(fields), i, (void **)&field) ==
FAILURE) {
- php_error(E_WARNING, "unexpected error");
+ if (zend_hash_index_find(Z_ARRVAL_PP(fields), i, (void **)&field) ==
+FAILURE) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "unexpected
+error");
efree(cp);
RETURN_FALSE;
}
@@ -305,7 +301,7 @@
dbh->db_records++;
if (put_dbf_record(dbh, dbh->db_records, cp) < 0) {
- php_error(E_WARNING, "unable to put record at %ld", dbh->db_records);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to put record at
+%ld", dbh->db_records);
efree(cp);
RETURN_FALSE;
}
@@ -321,7 +317,7 @@
Replaces a record to the database */
PHP_FUNCTION(dbase_replace_record)
{
- pval *dbh_id, *fields, **field, *recnum;
+ zval **dbh_id, *fields, **field, **recnum;
dbhead_t *dbh;
int dbh_type;
@@ -331,40 +327,36 @@
int i;
DBase_TLS_VARS;
- if (ZEND_NUM_ARGS() != 3 || getParameters(ht, 3, &dbh_id, &fields,
&recnum)==FAILURE) {
+ if (ZEND_NUM_ARGS() != 3 || zend_get_parameters_ex(3, &dbh_id, &fields,
+&recnum) == FAILURE) {
WRONG_PARAM_COUNT;
}
- convert_to_long(dbh_id);
- convert_to_long(recnum);
- if (Z_TYPE_P(fields) != IS_ARRAY) {
- php_error(E_WARNING, "Expected array as second parameter");
+ convert_to_long_ex(dbh_id);
+ convert_to_long_ex(recnum);
+ if (Z_TYPE_PP(fields) != IS_ARRAY) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Expected array as second
+parameter");
RETURN_FALSE;
}
- dbh = zend_list_find(Z_LVAL_P(dbh_id), &dbh_type);
+ dbh = zend_list_find(Z_LVAL_PP(dbh_id), &dbh_type);
if (!dbh || dbh_type != DBase_GLOBAL(le_dbhead)) {
- php_error(E_WARNING, "Unable to find database for identifier %d",
Z_LVAL_P(dbh_id));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to find database
+for identifier %d", Z_LVAL_PP(dbh_id));
RETURN_FALSE;
}
- num_fields = zend_hash_num_elements(Z_ARRVAL_P(fields));
+ num_fields = zend_hash_num_elements(Z_ARRVAL_PP(fields));
if (num_fields != dbh->db_nfields) {
- php_error(E_WARNING, "Wrong number of fields specified");
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Wrong number of fields
+specified");
RETURN_FALSE;
}
cp = t_cp = (char *)emalloc(dbh->db_rlen + 1);
- if (!cp) {
- php_error(E_WARNING, "unable to allocate memory");
- RETURN_FALSE;
- }
*t_cp++ = VALID_RECORD;
dbf = dbh->db_fields;
for (i = 0, cur_f = dbf; cur_f < &dbf[num_fields]; i++, cur_f++) {
- if (zend_hash_index_find(Z_ARRVAL_P(fields), i, (void **)&field) ==
FAILURE) {
- php_error(E_WARNING, "unexpected error");
+ if (zend_hash_index_find(Z_ARRVAL_PP(fields), i, (void **)&field) ==
+FAILURE) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "unexpected
+error");
efree(cp);
RETURN_FALSE;
}
@@ -373,8 +365,8 @@
t_cp += cur_f->db_flen;
}
- if (put_dbf_record(dbh, Z_LVAL_P(recnum), cp) < 0) {
- php_error(E_WARNING, "unable to put record at %ld", dbh->db_records);
+ if (put_dbf_record(dbh, Z_LVAL_PP(recnum), cp) < 0) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to put record at
+%ld", dbh->db_records);
efree(cp);
RETURN_FALSE;
}
@@ -390,28 +382,28 @@
Marks a record to be deleted */
PHP_FUNCTION(dbase_delete_record)
{
- pval *dbh_id, *record;
+ zval **dbh_id, **record;
dbhead_t *dbh;
int dbh_type;
DBase_TLS_VARS;
- if (ZEND_NUM_ARGS() != 2 || getParameters(ht, 2, &dbh_id, &record)==FAILURE) {
+ if (ZEND_NUM_ARGS() != 2 || (zend_get_parameters_ex(2, &dbh_id, &record) ==
+FAILURE)) {
WRONG_PARAM_COUNT;
}
- convert_to_long(dbh_id);
- convert_to_long(record);
+ convert_to_long_ex(dbh_id);
+ convert_to_long_ex(record);
- dbh = zend_list_find(Z_LVAL_P(dbh_id), &dbh_type);
+ dbh = zend_list_find(Z_LVAL_PP(dbh_id), &dbh_type);
if (!dbh || dbh_type != DBase_GLOBAL(le_dbhead)) {
- php_error(E_WARNING, "Unable to find database for identifier %d",
Z_LVAL_P(dbh_id));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to find database
+for identifier %d", Z_LVAL_P(dbh_id));
RETURN_FALSE;
}
- if (del_dbf_record(dbh, Z_LVAL_P(record)) < 0) {
- if (Z_LVAL_P(record) > dbh->db_records) {
- php_error(E_WARNING, "record %d out of bounds",
Z_LVAL_P(record));
+ if (del_dbf_record(dbh, Z_LVAL_PP(record)) < 0) {
+ if (Z_LVAL_PP(record) > dbh->db_records) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "record %d out of
+bounds", Z_LVAL_PP(record));
} else {
- php_error(E_WARNING, "unable to delete record %d",
Z_LVAL_P(record));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to delete
+record %d", Z_LVAL_PP(record));
}
RETURN_FALSE;
}
@@ -435,28 +427,26 @@
int errno_save;
DBase_TLS_VARS;
- if (ZEND_NUM_ARGS() != 2 || getParameters(ht, 2, &dbh_id, &record)==FAILURE) {
+ if (ZEND_NUM_ARGS() != 2 || (zend_get_parameters_ex(2, &dbh_id, &record) ==
+FAILURE)) {
WRONG_PARAM_COUNT;
}
- convert_to_long(dbh_id);
- convert_to_long(record);
+ convert_to_long_ex(dbh_id);
+ convert_to_long_ex(record);
- dbh = zend_list_find(Z_LVAL_P(dbh_id), &dbh_type);
+ dbh = zend_list_find(Z_LVAL_PP(dbh_id), &dbh_type);
if (!dbh || dbh_type != DBase_GLOBAL(le_dbhead)) {
- php_error(E_WARNING, "Unable to find database for identifier %d",
Z_LVAL_P(dbh_id));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to find database
+for identifier %d", Z_LVAL_PP(dbh_id));
RETURN_FALSE;
}
- if ((data = get_dbf_record(dbh, Z_LVAL_P(record))) == NULL) {
- php_error(E_WARNING, "Tried to read bad record %d", Z_LVAL_P(record));
+ if ((data = get_dbf_record(dbh, Z_LVAL_PP(record))) == NULL) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Tried to read bad record
+%d", Z_LVAL_PP(record));
RETURN_FALSE;
}
dbf = dbh->db_fields;
- if (array_init(return_value) == FAILURE) {
- RETURN_FALSE;
- }
+ array_init(return_value);
fnp = NULL;
for (cur_f = dbf; cur_f < &dbf[dbh->db_nfields]; cur_f++) {
@@ -577,7 +567,7 @@
Creates a new dBase-format database file */
PHP_FUNCTION(dbase_create)
{
- pval *filename, *fields, **field, **value;
+ zval **filename, **fields, **field, **value;
int fd;
dbhead_t *dbh;
@@ -586,37 +576,37 @@
int i, rlen, handle;
DBase_TLS_VARS;
- if (ZEND_NUM_ARGS() != 2 || getParameters(ht, 2, &filename, &fields)==FAILURE)
{
+ if (ZEND_NUM_ARGS() != 2 || (zend_get_parameters_ex(2, &filename, &fields) ==
+FAILURE)) {
WRONG_PARAM_COUNT;
}
- convert_to_string(filename);
+ convert_to_string_ex(filename);
- if (Z_TYPE_P(fields) != IS_ARRAY) {
- php_error(E_WARNING, "Expected array as second parameter");
+ if (Z_TYPE_PP(fields) != IS_ARRAY) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Expected array as second
+parameter");
RETURN_FALSE;
}
- if (PG(safe_mode) && (!php_checkuid(Z_STRVAL_P(filename), NULL,
CHECKUID_CHECK_FILE_AND_DIR))) {
+ if (PG(safe_mode) && (!php_checkuid(Z_STRVAL_PP(filename), NULL,
+CHECKUID_CHECK_FILE_AND_DIR))) {
RETURN_FALSE;
}
- if (php_check_open_basedir(Z_STRVAL_P(filename) TSRMLS_CC)) {
+ if (php_check_open_basedir(Z_STRVAL_PP(filename) TSRMLS_CC)) {
RETURN_FALSE;
}
- if ((fd = VCWD_OPEN_MODE(Z_STRVAL_P(filename), O_BINARY|O_RDWR|O_CREAT, 0644))
< 0) {
- php_error(E_WARNING, "Unable to create database (%d): %s", errno,
strerror(errno));
+ if ((fd = VCWD_OPEN_MODE(Z_STRVAL_PP(filename), O_BINARY|O_RDWR|O_CREAT,
+0644)) < 0) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to create database
+(%d): %s", errno, strerror(errno));
RETURN_FALSE;
}
- num_fields = zend_hash_num_elements(Z_ARRVAL_P(fields));
+ num_fields = zend_hash_num_elements(Z_ARRVAL_PP(fields));
/* have to use regular malloc() because this gets free()d by
code in the dbase library */
dbh = (dbhead_t *)malloc(sizeof(dbhead_t));
dbf = (dbfield_t *)malloc(sizeof(dbfield_t) * num_fields);
if (!dbh || !dbf) {
- php_error(E_WARNING, "Unable to allocate memory for header info");
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to allocate memory
+for header info");
RETURN_FALSE;
}
@@ -646,27 +636,27 @@
for (i = 0, cur_f = dbf; i < num_fields; i++, cur_f++) {
/* look up the first field */
- if (zend_hash_index_find(Z_ARRVAL_P(fields), i, (void **)&field) ==
FAILURE) {
- php_error(E_WARNING, "unable to find field %d", i);
+ if (zend_hash_index_find(Z_ARRVAL_PP(fields), i, (void **)&field) ==
+FAILURE) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to find
+field %d", i);
free_dbf_head(dbh);
RETURN_FALSE;
}
if (Z_TYPE_PP (field) != IS_ARRAY) {
- php_error(E_WARNING, "second parameter must be array of
arrays");
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "second parameter
+must be array of arrays");
free_dbf_head(dbh);
RETURN_FALSE;
}
/* field name */
if (zend_hash_index_find(Z_ARRVAL_PP(field), 0, (void **)&value) ==
FAILURE) {
- php_error(E_WARNING, "expected field name as first element of
list in field %d", i);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "expected field
+name as first element of list in field %d", i);
free_dbf_head(dbh);
RETURN_FALSE;
}
convert_to_string_ex(value);
if (Z_STRLEN_PP(value) > 10 || Z_STRLEN_PP(value) == 0) {
- php_error(E_WARNING, "invalid field name '%s' (must be
non-empty and less than or equal to 10 characters)", Z_STRVAL_PP(value));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "invalid field
+name '%s' (must be non-empty and less than or equal to 10 characters)",
+Z_STRVAL_PP(value));
free_dbf_head(dbh);
RETURN_FALSE;
}
@@ -674,7 +664,7 @@
/* field type */
if (zend_hash_index_find(Z_ARRVAL_PP (field), 1, (void **)&value) ==
FAILURE) {
- php_error(E_WARNING, "expected field type as sececond element
of list in field %d", i);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "expected field
+type as sececond element of list in field %d", i);
RETURN_FALSE;
}
convert_to_string_ex(value);
@@ -699,7 +689,7 @@
case 'C':
/* field length */
if (zend_hash_index_find(Z_ARRVAL_PP (field), 2, (void
**)&value) == FAILURE) {
- php_error(E_WARNING, "expected field length as third
element of list in field %d", i);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "expected
+field length as third element of list in field %d", i);
free_dbf_head(dbh);
RETURN_FALSE;
}
@@ -708,7 +698,7 @@
if (cur_f->db_type == 'N') {
if (zend_hash_index_find(Z_ARRVAL_PP (field), 3, (void
**)&value) == FAILURE) {
- php_error(E_WARNING, "expected field precision
as fourth element of list in field %d", i);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING,
+"expected field precision as fourth element of list in field %d", i);
free_dbf_head(dbh);
RETURN_FALSE;
}
@@ -717,7 +707,7 @@
}
break;
default:
- php_error(E_WARNING, "unknown field type '%c'",
cur_f->db_type);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown field
+type '%c'", cur_f->db_type);
}
cur_f->db_foffset = rlen;
rlen += cur_f->db_flen;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php