mike Tue Aug 8 15:55:27 2006 UTC Modified files: (Branch: PHP_5_2) /php-src NEWS /php-src/ext/dbase dbase.c dbf_head.c Log: MFH: implement #38357 (dbase_open can't open DBase 3 dbf file) http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.190&r2=1.2027.2.547.2.191&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.190 php-src/NEWS:1.2027.2.547.2.191 --- php-src/NEWS:1.2027.2.547.2.190 Tue Aug 8 14:54:49 2006 +++ php-src/NEWS Tue Aug 8 15:55:26 2006 @@ -8,6 +8,8 @@ - Added an optional boolean parameter to memory_get_usage() and memory_get_peak_usage() to get memory size allocated by emalloc() or real size of memory allocated from system. (Dmitry) +- Implemented #38357 (dbase_open can't open DBase 3 dbf file). + (rodrigo at fabricadeideias dot com, Mike) - Moved extensions to PECL: . ext/filepro (Derick, Tony) http://cvs.php.net/viewvc.cgi/php-src/ext/dbase/dbase.c?r1=1.74.2.2.2.3&r2=1.74.2.2.2.4&diff_format=u Index: php-src/ext/dbase/dbase.c diff -u php-src/ext/dbase/dbase.c:1.74.2.2.2.3 php-src/ext/dbase/dbase.c:1.74.2.2.2.4 --- php-src/ext/dbase/dbase.c:1.74.2.2.2.3 Wed Jul 12 13:08:38 2006 +++ php-src/ext/dbase/dbase.c Tue Aug 8 15:55:27 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: dbase.c,v 1.74.2.2.2.3 2006/07/12 13:08:38 tony2001 Exp $ */ +/* $Id: dbase.c,v 1.74.2.2.2.4 2006/08/08 15:55:27 mike Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -503,6 +503,13 @@ } } break; + case 'F': + if (!assoc) { + add_next_index_double(return_value, atof(str_value)); + } else { + add_assoc_double(return_value, cur_f->db_fname, atof(str_value)); + } + break; case 'L': /* we used to FALL THROUGH, but now we check for T/Y and F/N and insert 1 or 0, respectively. db_fdc is the number of decimals, which we don't care about. 3/14/2001 LEW */ @@ -690,6 +697,9 @@ case 'D': cur_f->db_flen = 8; break; + case 'F': + cur_f->db_flen = 20; + break; case 'N': case 'C': /* field length */ @@ -862,6 +872,7 @@ case 'N': add_assoc_string(row, "type", "number", 1); break; case 'L': add_assoc_string(row, "type", "boolean", 1); break; case 'M': add_assoc_string(row, "type", "memo", 1); break; + case 'F': add_assoc_string(row, "type", "float", 1); break; default: add_assoc_string(row, "type", "unknown", 1); break; } http://cvs.php.net/viewvc.cgi/php-src/ext/dbase/dbf_head.c?r1=1.14.4.1.2.1&r2=1.14.4.1.2.2&diff_format=u Index: php-src/ext/dbase/dbf_head.c diff -u php-src/ext/dbase/dbf_head.c:1.14.4.1.2.1 php-src/ext/dbase/dbf_head.c:1.14.4.1.2.2 --- php-src/ext/dbase/dbf_head.c:1.14.4.1.2.1 Thu May 25 11:46:38 2006 +++ php-src/ext/dbase/dbf_head.c Tue Aug 8 15:55:27 2006 @@ -148,6 +148,7 @@ dbf->db_type = dbfield.dbf_type; switch (dbf->db_type) { case 'N': + case 'F': dbf->db_flen = dbfield.dbf_flen[0]; dbf->db_fdc = dbfield.dbf_flen[1]; break; @@ -231,6 +232,7 @@ case 'N': case 'L': case 'D': + case 'F': sprintf(format, "%%%ds", dbf->db_flen); break; case 'M':
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php