cvs: php4 /ext/mssql php_mssql.c
| From: | Frank M. Kromann | Date: | Wed, 15 May 2002 18:07:20 +0000 |
| Subject: | cvs: php4 /ext/mssql php_mssql.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-11943@lists.php.net to get a copy of this message | ||
fmk Wed May 15 14:07:20 2002 EDT
Modified files:
/php4/ext/mssql php_mssql.c
Log:
Fixing the mssql_query to handle multiple results correct if the first result does not return any
data.
Index: php4/ext/mssql/php_mssql.c
diff -u php4/ext/mssql/php_mssql.c:1.82 php4/ext/mssql/php_mssql.c:1.83
--- php4/ext/mssql/php_mssql.c:1.82 Tue May 14 19:57:41 2002
+++ php4/ext/mssql/php_mssql.c Wed May 15 14:07:17 2002
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_mssql.c,v 1.82 2002/05/14 23:57:41 fmk Exp $ */
+/* $Id: php_mssql.c,v 1.83 2002/05/15 18:07:17 fmk Exp $ */
#ifdef COMPILE_DL_MSSQL
#define HAVE_MSSQL 1
@@ -1053,7 +1053,7 @@
RETURN_FALSE;
}
- if ((num_fields = dbnumcols(mssql_ptr->link)) <= 0) {
+ if ((num_fields = dbnumcols(mssql_ptr->link)) <= 0 &&
!dbdataready(mssql_ptr->link)) {
RETURN_TRUE;
}
@@ -1067,8 +1067,10 @@
result->mssql_ptr = mssql_ptr;
result->cur_field=result->cur_row=result->num_rows=0;
- result->fields = (mssql_field *) emalloc(sizeof(mssql_field)*result->num_fields);
- result->num_rows = _mssql_fetch_batch(mssql_ptr, result, retvalue TSRMLS_CC);
+ if (num_fields > 0) {
+ result->fields = (mssql_field *) emalloc(sizeof(mssql_field)*result->num_fields);
+ result->num_rows = _mssql_fetch_batch(mssql_ptr, result, retvalue TSRMLS_CC);
+ }
ZEND_REGISTER_RESOURCE(return_value, result, le_result);
}