Index: ext/odbc/php_odbc.c =================================================================== RCS file: /repository/php-src/ext/odbc/php_odbc.c,v retrieving revision 1.143.2.21.2.2 diff -u -p -d -r1.143.2.21.2.2 php_odbc.c --- ext/odbc/php_odbc.c 1 Jan 2006 13:46:55 -0000 1.143.2.21.2.2 +++ ext/odbc/php_odbc.c 6 Dec 2006 17:19:30 -0000 @@ -1441,7 +1441,7 @@ static void php_odbc_fetch_hash(INTERNAL if (rc == SQL_SUCCESS_WITH_INFO) { Z_STRLEN_P(tmp) = result->longreadlen; - } else if (result->values[i].vallen == SQL_NULL_DATA) { + } else if (result->values[i].vallen == SQL_NULL_DATA || result->values[i].value == NULL) { ZVAL_NULL(tmp); break; } else { @@ -1451,7 +1451,7 @@ static void php_odbc_fetch_hash(INTERNAL break; default: - if (result->values[i].vallen == SQL_NULL_DATA) { + if (result->values[i].vallen == SQL_NULL_DATA || result->values[i].value == NULL) { ZVAL_NULL(tmp); break; } @@ -1600,7 +1600,7 @@ PHP_FUNCTION(odbc_fetch_into) } if (rc == SQL_SUCCESS_WITH_INFO) { Z_STRLEN_P(tmp) = result->longreadlen; - } else if (result->values[i].vallen == SQL_NULL_DATA) { + } else if (result->values[i].vallen == SQL_NULL_DATA || result->values[i].value == NULL) { ZVAL_NULL(tmp); break; } else { @@ -1610,7 +1610,7 @@ PHP_FUNCTION(odbc_fetch_into) break; default: - if (result->values[i].vallen == SQL_NULL_DATA) { + if (result->values[i].vallen == SQL_NULL_DATA || result->values[i].value == NULL) { ZVAL_NULL(tmp); break; } @@ -1830,7 +1830,7 @@ PHP_FUNCTION(odbc_result) RETURN_FALSE; } - if (result->values[field_ind].vallen == SQL_NULL_DATA) { + if (result->values[field_ind].vallen == SQL_NULL_DATA || result->values[field_ind].value == NULL) { efree(field); RETURN_NULL(); } else if (rc == SQL_NO_DATA_FOUND) { @@ -1848,7 +1848,7 @@ PHP_FUNCTION(odbc_result) break; default: - if (result->values[field_ind].vallen == SQL_NULL_DATA) { + if (result->values[field_ind].vallen == SQL_NULL_DATA || result->values[field_ind].value == NULL) { RETURN_NULL(); } else { RETURN_STRINGL(result->values[field_ind].value, result->values[field_ind].vallen, 1); @@ -1873,7 +1873,7 @@ PHP_FUNCTION(odbc_result) RETURN_FALSE; } - if (result->values[field_ind].vallen == SQL_NULL_DATA) { + if (result->values[field_ind].vallen == SQL_NULL_DATA || result->values[field_ind].value == NULL) { efree(field); RETURN_NULL(); } @@ -1981,7 +1981,7 @@ PHP_FUNCTION(odbc_result_all) } if (rc == SQL_SUCCESS_WITH_INFO) php_printf(buf,result->longreadlen); - else if (result->values[i].vallen == SQL_NULL_DATA) { + else if (result->values[i].vallen == SQL_NULL_DATA || result->values[i].value == NULL) { php_printf("NULL"); break; } else { @@ -1990,7 +1990,7 @@ PHP_FUNCTION(odbc_result_all) php_printf(""); break; default: - if (result->values[i].vallen == SQL_NULL_DATA) { + if (result->values[i].vallen == SQL_NULL_DATA || result->values[i].value == NULL) { php_printf("NULL"); } else { php_printf("%s", result->values[i].value);