summaryrefslogtreecommitdiff
path: root/ext/dbase
diff options
context:
space:
mode:
authorSterling Hughes <sterling@php.net>2000-07-23 03:45:24 +0000
committerSterling Hughes <sterling@php.net>2000-07-23 03:45:24 +0000
commit8aadb68db15f7081ded8a830c353fdd4cdc327a4 (patch)
tree15ad4f914ccd69e0a8ff611ba2ab1df385332b7e /ext/dbase
parente67fa9823d24dfeddb58c56ebf6d5e71bcd4ee26 (diff)
downloadphp-git-8aadb68db15f7081ded8a830c353fdd4cdc327a4.tar.gz
@ Fixed dbase_add_record. (Sterling)
Fixed dbase_add_record
Diffstat (limited to 'ext/dbase')
-rw-r--r--ext/dbase/dbase.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/ext/dbase/dbase.c b/ext/dbase/dbase.c
index 254cb250d1..adb3e284d2 100644
--- a/ext/dbase/dbase.c
+++ b/ext/dbase/dbase.c
@@ -274,13 +274,18 @@ PHP_FUNCTION(dbase_add_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(fields->value.ht, i, (void **)&field) == FAILURE) {
php_error(E_WARNING, "unexpected error");
efree(cp);
RETURN_FALSE;
}
- convert_to_string(field);
- sprintf(t_cp, cur_f->db_format, field->value.str.val);
+
+ tmp = *field;
+ zval_copy_ctor(&tmp);
+ convert_to_string(&tmp);
+ sprintf(t_cp, cur_f->db_format, tmp.value.str.val);
+ zval_dtor(&tmp);
t_cp += cur_f->db_flen;
}