iliaa           Fri Feb 14 11:49:09 2003 EDT

  Modified files:              
    /php4/ext/mysqli    mysqli.c mysqli_api.c mysqli_nonapi.c php_mysqli.h 
  Log:
  Missing portion of the previous patch.
  
  
Index: php4/ext/mysqli/mysqli.c
diff -u php4/ext/mysqli/mysqli.c:1.2 php4/ext/mysqli/mysqli.c:1.3
--- php4/ext/mysqli/mysqli.c:1.2        Fri Feb 14 11:31:22 2003
+++ php4/ext/mysqli/mysqli.c    Fri Feb 14 11:49:09 2003
@@ -15,7 +15,7 @@
   | Author: Georg Richter <[EMAIL PROTECTED]>                                |
   +----------------------------------------------------------------------+
 
-  $Id: mysqli.c,v 1.2 2003/02/14 16:31:22 georg Exp $ 
+  $Id: mysqli.c,v 1.3 2003/02/14 16:49:09 iliaa Exp $ 
 */
 
 #ifdef HAVE_CONFIG_H
@@ -27,6 +27,7 @@
 #include "php.h"
 #include "php_ini.h"
 #include "ext/standard/info.h"
+#include "ext/standard/php_string.h"
 #include "php_mysqli.h"
 
 
@@ -38,16 +39,16 @@
 static zend_object_handlers mysqli_object_handlers;
 
 /* {{{ php_clear_stmt_bind */
-void php_clear_stmt_bind(STMT *stmt) {
-       int i;
-
+void php_clear_stmt_bind(STMT *stmt)
+{
+       unsigned int i;
 
-       if (stmt->stmt && stmt->stmt->mysql->host)
+       if (stmt->stmt && stmt->stmt->mysql->host) {
                mysql_stmt_close(stmt->stmt);
+       }
 
        if (stmt->var_cnt) {
-       
-               for (i=0; i < stmt->var_cnt; i++) {
+               for (i = 0; i < stmt->var_cnt; i++) {
                        if (stmt->type == FETCH_RESULT) {
                                if (stmt->bind[i].type == IS_STRING) {
                                        efree(stmt->bind[i].buffer);
@@ -80,16 +81,12 @@
                if (mysql) {
                        mysql_close(mysql);
                }
-       }
-       /* stmt object */
-       else if (intern->zo.ce == mysqli_stmt_class_entry) {
+       } else if (intern->zo.ce == mysqli_stmt_class_entry) { /* stmt object */
                STMT *stmt = (STMT *)intern->ptr;
                if (stmt) {
                        php_clear_stmt_bind(stmt);
                }
-       }
-       /* result object */
-       else if (intern->zo.ce == mysqli_result_class_entry) {
+       } else if (intern->zo.ce == mysqli_result_class_entry) { /* result object */
                MYSQL_RES *res = (MYSQL_RES *)intern->ptr;
                if (res) {
                        mysql_free_result(res);
@@ -300,6 +297,9 @@
  */
 PHP_RINIT_FUNCTION(mysqli)
 {
+       MyG(error_msg) = NULL;
+       MyG(error_no) = 0;
+
        return SUCCESS;
 }
 /* }}} */
@@ -309,6 +309,10 @@
  */
 PHP_RSHUTDOWN_FUNCTION(mysqli)
 {
+       if (MyG(error_msg)) {
+               efree(MyG(error_msg));
+       }
+
        return SUCCESS;
 }
 /* }}} */
@@ -335,7 +339,7 @@
 {
        MYSQL_RES *result;
        zval *mysql_result;
-       int     fetchtype;
+       int fetchtype;
        int copyflag, i;
        MYSQL_FIELD *fields;
        MYSQL_ROW row;
@@ -355,25 +359,22 @@
 
        MYSQLI_FETCH_RESOURCE(result, MYSQL_RES *, &mysql_result, "mysqli_result"); 
 
-       if (array_init(return_value) == FAILURE) {
-               RETURN_FALSE;
-       }
+       array_init(return_value);
 
        fields = mysql_fetch_fields(result);
        row = mysql_fetch_row(result);
        field_len = mysql_fetch_lengths(result);
 
-       for (i=0; i < mysql_num_fields(result); i++){
+       for (i = 0; i < mysql_num_fields(result); i++) {
                if (row[i]) {
                        char    *column;
-                       int             column_len;
+                       int      column_len;
                        
                        /* check if we need magic quotes */
                        if (PG(magic_quotes_runtime)) {
                                column = php_addslashes(row[i], field_len[i], 
&column_len, 0 TSRMLS_CC);
                                copyflag = 0;
-                       }
-                       else {
+                       } else {
                                column = row[i];
                                column_len = field_len[i];
                                copyflag = 1;
@@ -385,9 +386,7 @@
                        if (fetchtype & MYSQLI_ASSOC) {
                                add_assoc_stringl(return_value, fields[i].name, 
column, column_len, copyflag); 
                        }
-
-               } 
-               else {
+               } else {
                        if (fetchtype & MYSQLI_NUM) {
                                add_index_null(return_value, i);
                        }
@@ -396,6 +395,18 @@
                        }
                }
        }
+}
+/* }}} */
+
+/* {{{ php_mysqli_set_error
+ */
+PHP_MYSQLI_API void php_mysqli_set_error(long mysql_errno, char *mysql_err TSRMLS_DC)
+{
+       MyG(error_no) = mysql_errno;
+       if (MyG(error_msg)) {
+               efree(MyG(error_msg));
+       }
+       MyG(error_msg) = estrdup(mysql_err);
 }
 /* }}} */
 
Index: php4/ext/mysqli/mysqli_api.c
diff -u php4/ext/mysqli/mysqli_api.c:1.5 php4/ext/mysqli/mysqli_api.c:1.6
--- php4/ext/mysqli/mysqli_api.c:1.5    Fri Feb 14 11:31:51 2003
+++ php4/ext/mysqli/mysqli_api.c        Fri Feb 14 11:49:09 2003
@@ -15,7 +15,7 @@
   | Author: Georg Richter <[EMAIL PROTECTED]>                                |
   +----------------------------------------------------------------------+
 
-  $Id: mysqli_api.c,v 1.5 2003/02/14 16:31:51 georg Exp $ 
+  $Id: mysqli_api.c,v 1.6 2003/02/14 16:49:09 iliaa Exp $ 
 */
 
 #ifdef HAVE_CONFIG_H
@@ -72,9 +72,9 @@
        zval            ***args;
        int             argc = ZEND_NUM_ARGS();
        int             i;
-       int                     num_vars;
-       int                     start = 0;
-       int                     ofs;
+       int             num_vars;
+       int             start = 0;
+       int             ofs;
        STMT            *stmt;
        MYSQL_BIND      *bind;
        zval            **object;
@@ -82,10 +82,9 @@
        /* check if number of parameters > 2 and odd */
        if (argc < 3 || !(argc & 1)) {
                WRONG_PARAM_COUNT;
+       } else {
+               num_vars = (argc - 1) / 2;
        }
-       else 
-         num_vars = (argc - 1) / 2;
-       
 
        args = (zval ***)emalloc(argc * sizeof(zval **));
 
@@ -163,6 +162,7 @@
        }
        
        if (mysql_bind_param(stmt->stmt, bind)) {
+               efree(args);
                efree(bind);
                RETURN_FALSE;
        }
@@ -174,9 +174,9 @@
                if (Z_LVAL_PP(args[i+1+start]) != MYSQLI_BIND_SEND_DATA) {
                        ZVAL_ADDREF(*args[i+start]);
                        stmt->vars[i/2] = *args[i+start];
-               }
-               else
+               } else {
                        stmt->vars[i/2] = NULL;
+               }
        }
        efree(args);
        efree(bind);
@@ -198,9 +198,9 @@
        int             argc = ZEND_NUM_ARGS();
        zval            **object;
        int             i;
-       int                     start = 0;
-       int                     var_cnt;
-       int                     ofs;
+       int             start = 0;
+       int             var_cnt;
+       int             ofs;
        long            col_type;
        STMT            *stmt;
        MYSQL_BIND      *bind;
@@ -218,12 +218,12 @@
 
        if (!getThis()) {
                if (Z_TYPE_PP(args[0]) != IS_OBJECT) {
+                       efree(args);
                        RETURN_FALSE;
                }
                MYSQLI_FETCH_RESOURCE(stmt, STMT *, args[0], "mysqli_stmt"); 
                start = 1;
-       }
-       else {
+       } else {
                object = &(getThis());  
                MYSQLI_FETCH_RESOURCE(stmt, STMT *, object, "mysqli_stmt"); 
        }
@@ -314,7 +314,7 @@
                efree(bind);
                efree(args);
                php_clear_stmt_bind(stmt);
-               return;
+               RETURN_FALSE;
        }
 
        stmt->var_cnt = var_cnt;
@@ -339,7 +339,7 @@
        MYSQL *mysql;
        zval  *mysql_link = NULL;
        char  *user, *password, *dbname;
-       int       user_len, password_len, dbname_len;
+       int   user_len, password_len, dbname_len;
 
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Osss", 
&mysql_link, mysqli_link_class_entry, &user, &user_len, &password, &password_len, 
&dbname, &dbname_len) == FAILURE) {
                return;
@@ -359,7 +359,7 @@
 PHP_FUNCTION(mysqli_character_set_name)
 {
        MYSQL *mysql;
-       zval *mysql_link;
+       zval  *mysql_link;
 
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", 
&mysql_link, mysqli_link_class_entry) == FAILURE) {
                return;
@@ -372,7 +372,8 @@
 
 /* {{{ proto bool mysqli_close(resource link)
    close connection */
-PHP_FUNCTION(mysqli_close){
+PHP_FUNCTION(mysqli_close)
+{
        zval *mysql_link;
        MYSQL *mysql;
        
@@ -418,11 +419,11 @@
        MYSQLI_FETCH_RESOURCE(result, MYSQL_RES *, &mysql_result, "mysqli_result"); 
 
        if (result->handle && result->handle->status == MYSQL_STATUS_USE_RESULT) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "(%s:) Function cannot be 
used with MYSQL_USE_RESULT");
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Function cannot be used 
+with MYSQL_USE_RESULT");
                RETURN_LONG(0);
        }
 
-       mysql_data_seek (result, offset);
+       mysql_data_seek(result, offset);
        return;
 }
 /* }}} */
@@ -445,7 +446,8 @@
 
 /* {{{ proto void mysqli_disable_reads_from_master(resource link)
 */
-PHP_FUNCTION(mysqli_disable_reads_from_master) {
+PHP_FUNCTION(mysqli_disable_reads_from_master)
+{
        MYSQL   *mysql;
        zval    *mysql_link;
 
@@ -459,7 +461,8 @@
 
 /* {{{ proto void mysqli_disable_rpl_parse(resource link)
 */
-PHP_FUNCTION(mysqli_disable_rpl_parse) {
+PHP_FUNCTION(mysqli_disable_rpl_parse)
+{
        MYSQL   *mysql;
        zval    *mysql_link;
 
@@ -492,7 +495,8 @@
 
 /* {{{ proto void mysqli_enable_reads_from_master(resource link)
 */
-PHP_FUNCTION(mysqli_enable_reads_from_master) {
+PHP_FUNCTION(mysqli_enable_reads_from_master)
+{
        MYSQL   *mysql;
        zval  *mysql_link;
 
@@ -507,7 +511,8 @@
 
 /* {{{ proto void mysqli_enable_rpl_parse(resource link)
 */
-PHP_FUNCTION(mysqli_enable_rpl_parse) {
+PHP_FUNCTION(mysqli_enable_rpl_parse)
+{
        MYSQL   *mysql;
        zval    *mysql_link;
 
@@ -525,7 +530,7 @@
 PHP_FUNCTION(mysqli_errno)
 {
        MYSQL *mysql;
-       zval    *mysql_link;
+       zval  *mysql_link;
 
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", 
&mysql_link, mysqli_link_class_entry) == FAILURE) {
                return;
@@ -556,7 +561,7 @@
 {
        STMT *stmt;
        zval *mysql_stmt;
-       int      i;
+       unsigned int i;
 
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", 
&mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {
                return;
@@ -564,7 +569,7 @@
        MYSQLI_FETCH_RESOURCE(stmt, STMT *, &mysql_stmt, "mysqli_stmt"); 
        
        if (stmt->type == FETCH_SIMPLE) {
-               for (i=0; i < stmt->var_cnt; i++) {             
+               for (i = 0; i < stmt->var_cnt; i++) {           
                        if (stmt->vars[i]) {
                                stmt->is_null[i] = (stmt->vars[i]->type == IS_NULL);
 
@@ -583,7 +588,7 @@
                                                stmt->stmt->params[i].buffer = 
(gptr)&Z_LVAL_PP(&stmt->vars[i]);
                                                break;
                                        default:
-                                       break;
+                                               break;
                                }       
                        }
                }
@@ -599,7 +604,7 @@
 {
        STMT *stmt;
        zval *mysql_stmt;
-       int      i;
+       unsigned int i;
        ulong ret;
 
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", 
&mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {
@@ -610,19 +615,17 @@
        /* reset buffers */
 
 
-       for (i=0; i < stmt->var_cnt; i++) {
-               if (stmt->bind[i].type == IS_STRING)
+       for (i = 0; i < stmt->var_cnt; i++) {
+               if (stmt->bind[i].type == IS_STRING) {
                        memset(stmt->bind[i].buffer, 0, stmt->bind[i].buflen);
+               }
        }
        
-       ret = mysql_fetch(stmt->stmt);
-
-       if (ret) {
+       if (!(ret = mysql_fetch(stmt->stmt))) {
                RETURN_FALSE;
        }
 
-       for (i=0; i < stmt->var_cnt; i++) {
-
+       for (i = 0; i < stmt->var_cnt; i++) {
                if (!stmt->is_null[i]) {
                        switch (stmt->bind[i].type) {
                                case IS_LONG:
@@ -639,21 +642,20 @@
                                                if (lval != (long)lval) {
                                                        sprintf((char *)&tmp, "%lld", 
lval);
                                                        ZVAL_STRING(stmt->vars[i], 
tmp, 1);
-                                               }
-                                               else
+                                               } else {
                                                        ZVAL_LONG(stmt->vars[i], lval);
-                                       }
-                                       else {
+                                               }
+                                       } else {
                                                stmt->bind[i].type = IS_STRING;
                                                ZVAL_STRING(stmt->vars[i], 
stmt->bind[i].buffer, 1);
                                        }
                                        break;
                                default:
-                               break;  
+                                       break;  
                        }
-               }
-               else
+               } else {
                        stmt->vars[i]->type = IS_NULL;
+               }
        }
 
        RETURN_LONG(ret);
@@ -678,9 +680,7 @@
                RETURN_FALSE;
        }
 
-       if (object_init(return_value) == FAILURE){
-               RETURN_FALSE;
-       }
+       object_init(return_value);
 
        add_property_string(return_value, "name",(field->name ? field->name : ""), 1);
        add_property_string(return_value, "orgname",(field->org_name ? field->org_name 
: ""), 1);
@@ -703,7 +703,7 @@
        MYSQL_FIELD *field;
        zval *obj;
 
-       int i;
+       unsigned int i;
 
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", 
&mysql_result, mysqli_result_class_entry) == FAILURE) {
                return;
@@ -715,18 +715,14 @@
                RETURN_FALSE;
        }
 
-       if (array_init(return_value) == FAILURE) {
-               RETURN_FALSE;
-       }
+       array_init(return_value);
 
-       for (i=0; i < mysql_num_fields(result); i++) {
+       for (i = 0; i < mysql_num_fields(result); i++) {
                field = mysql_fetch_field_direct(result, i);
 
 
                MAKE_STD_ZVAL(obj);
-               if (object_init(obj) == FAILURE){
-                       RETURN_FALSE;
-               }
+               object_init(obj);
 
                add_property_string(obj, "name",(field->name ? field->name : ""), 1);
                add_property_string(obj, "orgname",(field->org_name ? field->org_name 
: ""), 1);
@@ -762,9 +758,7 @@
                RETURN_FALSE;
        }
 
-       if (object_init(return_value) == FAILURE){
-               RETURN_FALSE;
-       }
+       object_init(return_value);
 
        add_property_string(return_value, "name",(field->name ? field->name : ""), 1);
        add_property_string(return_value, "orgname",(field->org_name ? field->org_name 
: ""), 1);
@@ -784,7 +778,7 @@
 {
        MYSQL_RES *result;
        zval  *mysql_result;
-       int     i;
+       unsigned int i;
        unsigned long *ret;
        
 
@@ -794,17 +788,13 @@
 
        MYSQLI_FETCH_RESOURCE(result, MYSQL_RES *, &mysql_result, "mysqli_result"); 
 
-       ret = mysql_fetch_lengths(result);
-
-       if (ret == NULL) {
+       if (!(ret = mysql_fetch_lengths(result))) {
                RETURN_FALSE;
        }
 
-       if (array_init(return_value) == FAILURE) {
-               RETURN_FALSE;
-       }
+       array_init(return_value);
 
-       for (i=0; i < mysql_num_fields(result); i++) {
+       for (i = 0; i < mysql_num_fields(result); i++) {
                add_index_long(return_value, i, ret[i]);        
        }
 }
@@ -840,7 +830,7 @@
 {
        MYSQL_RES *result;
        zval  *mysql_result;
-       int fieldnr;
+       unsigned int fieldnr;
 
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", 
&mysql_result, mysqli_result_class_entry, &fieldnr) == FAILURE) {
                return;
@@ -848,7 +838,7 @@
        MYSQLI_FETCH_RESOURCE(result, MYSQL_RES *, &mysql_result, "mysqli_result"); 
 
        if (fieldnr < 0 || fieldnr >= mysql_num_fields(result)) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "(%s:) Field offset is 
invalid for resultset");
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Field offset is invalid 
+for resultset");
                RETURN_FALSE; 
        }
        
@@ -979,11 +969,10 @@
        }
        MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); 
 
-       info = (char *)mysql_info(mysql);
-       
-       if (!info){
-               return;
+       if (!(info = (char *)mysql_info(mysql))) {
+               RETURN_FALSE;
        }
+
        RETURN_STRING(info, 1);
 }
 /* }}} */
@@ -1015,9 +1004,9 @@
        if (rc != (long)rc) {
                sprintf((char *)&ret, "%lld", rc);
                RETURN_STRING(ret,1);
-       }
-       else
+       } else {
                RETURN_LONG(rc);
+       }
 }
 /* }}} */
 
@@ -1092,7 +1081,7 @@
        MYSQLI_FETCH_RESOURCE(result, MYSQL_RES *, &mysql_result, "mysqli_result"); 
 
        if (result->handle && result->handle->status == MYSQL_STATUS_USE_RESULT) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "(%s:) Function cannot be 
used with MYSQL_USE_RESULT");
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Function cannot be used 
+with MYSQL_USE_RESULT");
                RETURN_LONG(0);
        }
 
@@ -1119,25 +1108,26 @@
        switch (Z_TYPE_PP(&mysql_value)) {
                case IS_STRING:
                        ret = mysql_options(mysql, mysql_option, 
Z_STRVAL_PP(&mysql_value));
-               break;
+                       break;
                default:
                        convert_to_long_ex(&mysql_value);
                        l_value = Z_LVAL_PP(&mysql_value);
                        ret = mysql_options(mysql, mysql_option, (char *)&l_value);
-               break;
+                       break;
        }
 
        if (ret != 0) {
-               RETVAL_FALSE;
+               RETURN_FALSE;
        } else {
-               RETVAL_TRUE;
+               RETURN_TRUE;
        }
 }   
 /* }}} */
 
 /* {{{ proto int mysqli_param_count(resource stmt) {
    return the number of parameter for the given statement */
-PHP_FUNCTION(mysqli_param_count) {
+PHP_FUNCTION(mysqli_param_count)
+{
        STMT    *stmt;
        zval    *mysql_stmt;
        
@@ -1210,27 +1200,30 @@
        }
        MYSQLI_FETCH_RESOURCE(stmt, STMT *, &mysql_stmt, "mysqli_stmt"); 
        
-       result = mysql_prepare_result(stmt->stmt);
-
-       if (!result) {
+       if (!(result = mysql_prepare_result(stmt->stmt))){
                RETURN_FALSE;
        }
+
        MYSQLI_RETURN_RESOURCE(result, mysqli_result_class_entry);      
 }
 /* }}} */
 
 /* {{{ proto bool mysqli_read_query_result(resource link)
 */
-PHP_FUNCTION(mysqli_read_query_result) {
+PHP_FUNCTION(mysqli_read_query_result)
+{
        MYSQL   *mysql;
        zval    *mysql_link;
+
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", 
&mysql_link, mysqli_link_class_entry) == FAILURE) {
                return;
        }
        MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); 
 
-       if (mysql_read_query_result(mysql))
+       if (mysql_read_query_result(mysql)) {
                RETURN_FALSE;
+       }
+
        RETURN_TRUE;
 }
 /* }}} */
@@ -1256,7 +1249,7 @@
        }
 
        /* TODO: safe mode handling */
-       if (PG(sql_safe_mode)){
+       if (PG(sql_safe_mode)) {
        } else {
                if (!passwd) {
                        passwd = MyG(default_pw);
@@ -1273,8 +1266,7 @@
 
        if 
(mysql_real_connect(mysql,hostname,username,passwd,dbname,port,socket,flags) == NULL) {
                /* Save error messages */
-               MyG(error_no) = mysql_errno(mysql);
-               MyG(error_msg) = estrdup(mysql_error(mysql));
+               php_mysqli_set_error(mysql_errno(mysql), mysql_error(mysql) TSRMLS_CC);
 
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", mysql_error(mysql));
                RETURN_FALSE;
@@ -1309,7 +1301,7 @@
        MYSQL   *mysql;
        zval    *mysql_link = NULL;
        char    *escapestr, *newstr;
-       int             escapestr_len, newstr_len;
+       int     escapestr_len, newstr_len;
 
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", 
&mysql_link, mysqli_link_class_entry, &escapestr, &escapestr_len) == FAILURE) {
                return;
@@ -1383,8 +1375,9 @@
        MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); 
 
 
-       if (mysql_rpl_probe(mysql))
+       if (mysql_rpl_probe(mysql)) {
                RETURN_FALSE;
+       }
        RETURN_TRUE;
 }
 /* }}} */
@@ -1487,9 +1480,7 @@
        }
        MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); 
 
-       result = mysql_store_result(mysql);
-
-       if (!result) {
+       if (!(result = mysql_store_result(mysql))) {
                RETURN_FALSE;
        }
        MYSQLI_RETURN_RESOURCE(result, mysqli_result_class_entry);      
@@ -1562,7 +1553,7 @@
 */
 PHP_FUNCTION(mysqli_stat)
 {
-       MYSQL   *mysql;
+       MYSQL *mysql;
        zval  *mysql_link;
 
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", 
&mysql_link, mysqli_link_class_entry) == FAILURE) {
@@ -1580,7 +1571,7 @@
 PHP_FUNCTION(mysqli_stmt_errno)
 {
        STMT *stmt;
-       zval    *mysql_stmt;
+       zval *mysql_stmt;
 
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", 
&mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {
                return;
@@ -1596,7 +1587,7 @@
 PHP_FUNCTION(mysqli_stmt_error) 
 {
        STMT *stmt;
-       zval    *mysql_stmt;
+       zval *mysql_stmt;
 
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", 
&mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {
                return;
@@ -1645,9 +1636,7 @@
        }
        MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link"); 
 
-       result = mysql_use_result(mysql);
-
-       if (!result) {
+       if (!(result = mysql_use_result(mysql))) {
                RETURN_FALSE;
        }
        MYSQLI_RETURN_RESOURCE(result, mysqli_result_class_entry);      
Index: php4/ext/mysqli/mysqli_nonapi.c
diff -u php4/ext/mysqli/mysqli_nonapi.c:1.1 php4/ext/mysqli/mysqli_nonapi.c:1.2
--- php4/ext/mysqli/mysqli_nonapi.c:1.1 Tue Feb 11 19:45:53 2003
+++ php4/ext/mysqli/mysqli_nonapi.c     Fri Feb 14 11:49:09 2003
@@ -15,7 +15,7 @@
   | Author: Georg Richter <[EMAIL PROTECTED]>                                |
   +----------------------------------------------------------------------+
 
-  $Id: mysqli_nonapi.c,v 1.1 2003/02/12 00:45:53 georg Exp $ 
+  $Id: mysqli_nonapi.c,v 1.2 2003/02/14 16:49:09 iliaa Exp $ 
 */
 
 #ifdef HAVE_CONFIG_H
@@ -60,8 +60,8 @@
 
        if (mysql_real_connect(mysql,hostname,username,passwd,dbname,port,socket,0) == 
NULL) {
                /* Save error messages */
-               MyG(error_no) = mysql_errno(mysql);
-               MyG(error_msg) = estrdup(mysql_error(mysql));
+               php_mysqli_set_error(mysql_errno(mysql), mysql_error(mysql) TSRMLS_CC);
+
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", mysql_error(mysql));
                /* free mysql structure */
                mysql_close(mysql);
Index: php4/ext/mysqli/php_mysqli.h
diff -u php4/ext/mysqli/php_mysqli.h:1.4 php4/ext/mysqli/php_mysqli.h:1.5
--- php4/ext/mysqli/php_mysqli.h:1.4    Fri Feb 14 11:45:31 2003
+++ php4/ext/mysqli/php_mysqli.h        Fri Feb 14 11:49:09 2003
@@ -15,7 +15,7 @@
   | Author: Georg Richter <[EMAIL PROTECTED]>                                |
   +----------------------------------------------------------------------+
 
-  $Id: php_mysqli.h,v 1.4 2003/02/14 16:45:31 iliaa Exp $ 
+  $Id: php_mysqli.h,v 1.5 2003/02/14 16:49:09 iliaa Exp $ 
 */
 
 #include <mysql.h>
@@ -102,11 +102,10 @@
 #define MYSQLI_FETCH_RESOURCE(__ptr, __type, __id, __name) \
 { \
        mysqli_object *intern = (mysqli_object *)zend_object_store_get_object(*(__id) 
TSRMLS_CC);\
-       if (!((__ptr) != (__type)intern->ptr)) {\
-               php_error(E_WARNING, "Couldn't fetch %s", intern->zo.ce->name);\
-               RETURN_NULL();\
-       }\
-       __ptr = (__type)intern->ptr; \
+       if (!(__ptr = (__type)intern->ptr)) {\
+               php_error(E_WARNING, "Couldn't fetch %s", intern->zo.ce->name);\
+               RETURN_NULL();\
+       }\
 }
 
 #define MYSQLI_CLEAR_RESOURCE(__id) \
@@ -136,6 +135,7 @@
 PHP_MYSQLI_API void mysqli_register_link(zval *return_value, void *link TSRMLS_DC);
 PHP_MYSQLI_API void mysqli_register_stmt(zval *return_value, void *stmt TSRMLS_DC);
 PHP_MYSQLI_API void mysqli_register_result(zval *return_value, void *result 
TSRMLS_DC);
+PHP_MYSQLI_API void php_mysqli_set_error(long mysql_errno, char *mysql_err TSRMLS_DC);
 
 PHP_MINIT_FUNCTION(mysqli);
 PHP_MSHUTDOWN_FUNCTION(mysqli);

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to