iliaa Fri May 30 10:45:20 2003 EDT Modified files: (Branch: PHP_4_3) /php4/ext/odbc php_odbc.c Log: MFH (fix for bug #23898) Index: php4/ext/odbc/php_odbc.c diff -u php4/ext/odbc/php_odbc.c:1.143.2.10 php4/ext/odbc/php_odbc.c:1.143.2.11 --- php4/ext/odbc/php_odbc.c:1.143.2.10 Thu May 29 08:34:38 2003 +++ php4/ext/odbc/php_odbc.c Fri May 30 10:45:20 2003 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_odbc.c,v 1.143.2.10 2003/05/29 12:34:38 kalowsky Exp $ */ +/* $Id: php_odbc.c,v 1.143.2.11 2003/05/30 14:45:20 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -1613,7 +1613,7 @@ if (rc == SQL_SUCCESS_WITH_INFO) { Z_STRLEN_P(tmp) = result->longreadlen; } else if (result->values[i].vallen == SQL_NULL_DATA) { - Z_STRVAL_P(tmp) = empty_string; + ZVAL_NULL(tmp); break; } else { Z_STRLEN_P(tmp) = result->values[i].vallen; @@ -1623,7 +1623,7 @@ default: if (result->values[i].vallen == SQL_NULL_DATA) { - Z_STRVAL_P(tmp) = empty_string; + ZVAL_NULL(tmp); break; } Z_STRLEN_P(tmp) = result->values[i].vallen; @@ -1845,7 +1845,10 @@ RETURN_FALSE; } - if (result->values[field_ind].vallen == SQL_NULL_DATA || rc == SQL_NO_DATA_FOUND) { + if (result->values[field_ind].vallen == SQL_NULL_DATA) { + efree(field); + RETURN_NULL(); + } else if (rc == SQL_NO_DATA_FOUND) { efree(field); RETURN_FALSE; } @@ -1861,7 +1864,7 @@ default: if (result->values[field_ind].vallen == SQL_NULL_DATA) { - RETURN_FALSE; + RETURN_NULL(); } else { RETURN_STRINGL(result->values[field_ind].value, result->values[field_ind].vallen, 1); } @@ -1890,7 +1893,7 @@ if (result->values[field_ind].vallen == SQL_NULL_DATA) { efree(field); - RETURN_FALSE; + RETURN_NULL(); } /* chop the trailing \0 by outputing only 4095 bytes */ PHPWRITE(field,(rc == SQL_SUCCESS_WITH_INFO) ? 4095 : @@ -1997,7 +2000,7 @@ if (rc == SQL_SUCCESS_WITH_INFO) php_printf(buf,result->longreadlen); else if (result->values[i].vallen == SQL_NULL_DATA) { - php_printf(" </td>"); + php_printf("<td>NULL</td>"); break; } else { php_printf(buf, result->values[i].vallen); @@ -2006,7 +2009,7 @@ break; default: if (result->values[i].vallen == SQL_NULL_DATA) { - php_printf("<td> </td>"); + php_printf("<td>NULL</td>"); } else { php_printf("<td>%s</td>", result->values[i].value); }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php