Commit:    b13e715581fb7ced41bc19e16638ab677d82e973
Author:    Anatol Belski <a...@php.net>         Tue, 3 Dec 2013 11:44:18 +0100
Parents:   0ee45382cdcab259494f941d9719647b83ccb3dc
Branches:  str_size_and_int64

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=b13e715581fb7ced41bc19e16638ab677d82e973

Log:
basic fixes to ext/pdo_mysql

Changed paths:
  M  ext/pdo_mysql/mysql_driver.c
  M  ext/pdo_mysql/mysql_statement.c
  M  ext/pdo_mysql/pdo_mysql.c
  M  ext/pdo_mysql/php_pdo_mysql_int.h

diff --git a/ext/pdo_mysql/mysql_driver.c b/ext/pdo_mysql/mysql_driver.c
index cd86503..f97dbd2 100644
--- a/ext/pdo_mysql/mysql_driver.c
+++ b/ext/pdo_mysql/mysql_driver.c
@@ -161,12 +161,12 @@ static int mysql_handle_closer(pdo_dbh_t *dbh TSRMLS_DC)
 /* }}} */
 
 /* {{{ mysql_handle_preparer */
-static int mysql_handle_preparer(pdo_dbh_t *dbh, const char *sql, long 
sql_len, pdo_stmt_t *stmt, zval *driver_options TSRMLS_DC)
+static int mysql_handle_preparer(pdo_dbh_t *dbh, const char *sql, 
zend_str_size sql_len, pdo_stmt_t *stmt, zval *driver_options TSRMLS_DC)
 {
        pdo_mysql_db_handle *H = (pdo_mysql_db_handle *)dbh->driver_data;
        pdo_mysql_stmt *S = ecalloc(1, sizeof(pdo_mysql_stmt));
        char *nsql = NULL;
-       int nsql_len = 0;
+       zend_str_size_int nsql_len = 0;
        int ret;
        int server_version;
        
@@ -235,7 +235,7 @@ static int mysql_handle_preparer(pdo_dbh_t *dbh, const char 
*sql, long sql_len,
 #else
                S->params = ecalloc(S->num_params, sizeof(MYSQL_BIND));
                S->in_null = ecalloc(S->num_params, sizeof(my_bool));
-               S->in_length = ecalloc(S->num_params, sizeof(unsigned long));
+               S->in_length = ecalloc(S->num_params, sizeof(php_uint_t));
 #endif
        }
        dbh->alloc_own_columns = 1;
@@ -253,7 +253,7 @@ end:
 /* }}} */
 
 /* {{{ mysql_handle_doer */
-static long mysql_handle_doer(pdo_dbh_t *dbh, const char *sql, long sql_len 
TSRMLS_DC)
+static php_int_t mysql_handle_doer(pdo_dbh_t *dbh, const char *sql, 
zend_str_size sql_len TSRMLS_DC)
 {
        pdo_mysql_db_handle *H = (pdo_mysql_db_handle *)dbh->driver_data;
        PDO_DBG_ENTER("mysql_handle_doer");
@@ -288,7 +288,7 @@ static long mysql_handle_doer(pdo_dbh_t *dbh, const char 
*sql, long sql_len TSRM
 /* }}} */
 
 /* {{{ pdo_mysql_last_insert_id */
-static char *pdo_mysql_last_insert_id(pdo_dbh_t *dbh, const char *name, 
unsigned int *len TSRMLS_DC)
+static char *pdo_mysql_last_insert_id(pdo_dbh_t *dbh, const char *name, 
zend_str_size_uint *len TSRMLS_DC)
 {
        pdo_mysql_db_handle *H = (pdo_mysql_db_handle *)dbh->driver_data;
        char *id = php_pdo_int64_to_str(mysql_insert_id(H->server) TSRMLS_CC);
@@ -299,7 +299,7 @@ static char *pdo_mysql_last_insert_id(pdo_dbh_t *dbh, const 
char *name, unsigned
 /* }}} */
 
 /* {{{ mysql_handle_quoter */
-static int mysql_handle_quoter(pdo_dbh_t *dbh, const char *unquoted, int 
unquotedlen, char **quoted, int *quotedlen, enum pdo_param_type paramtype  
TSRMLS_DC)
+static int mysql_handle_quoter(pdo_dbh_t *dbh, const char *unquoted, 
zend_str_size_int unquotedlen, char **quoted, zend_str_size_int *quotedlen, 
enum pdo_param_type paramtype  TSRMLS_DC)
 {
        pdo_mysql_db_handle *H = (pdo_mysql_db_handle *)dbh->driver_data;
        PDO_DBG_ENTER("mysql_handle_quoter");
@@ -368,7 +368,7 @@ static inline int mysql_handle_autocommit(pdo_dbh_t *dbh 
TSRMLS_DC)
 /* }}} */
 
 /* {{{ pdo_mysql_set_attribute */
-static int pdo_mysql_set_attribute(pdo_dbh_t *dbh, long attr, zval *val 
TSRMLS_DC)
+static int pdo_mysql_set_attribute(pdo_dbh_t *dbh, php_int_t attr, zval *val 
TSRMLS_DC)
 {
        PDO_DBG_ENTER("pdo_mysql_set_attribute");
        PDO_DBG_INF_FMT("dbh=%p", dbh);
@@ -414,7 +414,7 @@ static int pdo_mysql_set_attribute(pdo_dbh_t *dbh, long 
attr, zval *val TSRMLS_D
 /* }}} */
 
 /* {{{ pdo_mysql_get_attribute */
-static int pdo_mysql_get_attribute(pdo_dbh_t *dbh, long attr, zval 
*return_value TSRMLS_DC)
+static int pdo_mysql_get_attribute(pdo_dbh_t *dbh, php_int_t attr, zval 
*return_value TSRMLS_DC)
 {
        pdo_mysql_db_handle *H = (pdo_mysql_db_handle *)dbh->driver_data;
 
@@ -557,8 +557,8 @@ static int pdo_mysql_handle_factory(pdo_dbh_t *dbh, zval 
*driver_options TSRMLS_
                ;
 
 #if defined(PDO_USE_MYSQLND)
-       int dbname_len = 0;
-       int password_len = 0;
+       zend_str_size_int dbname_len = 0;
+       zend_str_size_int password_len = 0;
 #endif
        PDO_DBG_ENTER("pdo_mysql_handle_factory");
        PDO_DBG_INF_FMT("dbh=%p", dbh);
@@ -591,13 +591,13 @@ static int pdo_mysql_handle_factory(pdo_dbh_t *dbh, zval 
*driver_options TSRMLS_
 
        /* handle MySQL options */
        if (driver_options) {
-               long connect_timeout = pdo_attr_lval(driver_options, 
PDO_ATTR_TIMEOUT, 30 TSRMLS_CC);
-               long local_infile = pdo_attr_lval(driver_options, 
PDO_MYSQL_ATTR_LOCAL_INFILE, 0 TSRMLS_CC);
+               php_int_t connect_timeout = pdo_attr_lval(driver_options, 
PDO_ATTR_TIMEOUT, 30 TSRMLS_CC);
+               php_int_t local_infile = pdo_attr_lval(driver_options, 
PDO_MYSQL_ATTR_LOCAL_INFILE, 0 TSRMLS_CC);
                char *init_cmd = NULL;
 #ifndef PDO_USE_MYSQLND
                char *default_file = NULL, *default_group = NULL;
 #endif
-               long compress = 0;
+               php_int_t compress = 0;
                char *ssl_key = NULL, *ssl_cert = NULL, *ssl_ca = NULL, 
*ssl_capath = NULL, *ssl_cipher = NULL;
                H->buffered = pdo_attr_lval(driver_options, 
PDO_MYSQL_ATTR_USE_BUFFERED_QUERY, 1 TSRMLS_CC);
 
@@ -643,7 +643,7 @@ static int pdo_mysql_handle_factory(pdo_dbh_t *dbh, zval 
*driver_options TSRMLS_
                 * mysqlnd doesn't support reconnect, thus we don't have "|| 
defined(PDO_USE_MYSQLND)"
                */
                {
-                       long reconnect = 1;
+                       php_int_t reconnect = 1;
                        mysql_options(H->server, MYSQL_OPT_RECONNECT, (const 
char*)&reconnect);
                }
 #endif
diff --git a/ext/pdo_mysql/mysql_statement.c b/ext/pdo_mysql/mysql_statement.c
index 369c389..5128366 100644
--- a/ext/pdo_mysql/mysql_statement.c
+++ b/ext/pdo_mysql/mysql_statement.c
@@ -116,10 +116,10 @@ static int pdo_mysql_stmt_dtor(pdo_stmt_t *stmt 
TSRMLS_DC) /* {{{ */
 
 static void pdo_mysql_stmt_set_row_count(pdo_stmt_t *stmt TSRMLS_DC) /* {{{ */
 {
-       long row_count;
+       php_int_t row_count;
        pdo_mysql_stmt *S = stmt->driver_data;
-       row_count = (long) mysql_stmt_affected_rows(S->stmt);
-       if (row_count != (long)-1) {
+       row_count = (php_int_t) mysql_stmt_affected_rows(S->stmt);
+       if (row_count != (php_int_t)-1) {
                stmt->row_count = row_count;
        }
 }
@@ -146,12 +146,12 @@ static int pdo_mysql_fill_stmt_from_result(pdo_stmt_t 
*stmt TSRMLS_DC) /* {{{ */
                        PDO_DBG_RETURN(0);
                }
 
-               stmt->row_count = (long) mysql_num_rows(S->result);
+               stmt->row_count = (php_int_t) mysql_num_rows(S->result);
                stmt->column_count = (int) mysql_num_fields(S->result);
                S->fields = mysql_fetch_fields(S->result);
        } else {
                /* this was a DML or DDL query (INSERT, UPDATE, DELETE, ... */
-               stmt->row_count = (long) row_count;
+               stmt->row_count = (php_int_t) row_count;
        }
 
        PDO_DBG_RETURN(1);
@@ -200,7 +200,7 @@ static int 
pdo_mysql_stmt_execute_prepared_libmysql(pdo_stmt_t *stmt TSRMLS_DC)
                        stmt->column_count = (int)mysql_num_fields(S->result);
                        S->bound_result = ecalloc(stmt->column_count, 
sizeof(MYSQL_BIND));
                        S->out_null = ecalloc(stmt->column_count, 
sizeof(my_bool));
-                       S->out_length = ecalloc(stmt->column_count, 
sizeof(unsigned long));
+                       S->out_length = ecalloc(stmt->column_count, 
sizeof(php_uint_t));
 
                        /* summon memory to hold the row */
                        for (i = 0; i < stmt->column_count; i++) {
@@ -342,7 +342,7 @@ static int pdo_mysql_stmt_next_rowset(pdo_stmt_t *stmt 
TSRMLS_DC) /* {{{ */
 {
        pdo_mysql_stmt *S = (pdo_mysql_stmt*)stmt->driver_data;
        pdo_mysql_db_handle *H = S->H;
-       long row_count;
+       php_int_t row_count;
        PDO_DBG_ENTER("pdo_mysql_stmt_next_rowset");
        PDO_DBG_INF_FMT("stmt=%p", S->stmt);
 
@@ -391,8 +391,8 @@ static int pdo_mysql_stmt_next_rowset(pdo_stmt_t *stmt 
TSRMLS_DC) /* {{{ */
                                }
                        }
                }
-               row_count = (long) mysql_stmt_affected_rows(S->stmt);
-               if (row_count != (long)-1) {
+               row_count = (php_int_t) mysql_stmt_affected_rows(S->stmt);
+               if (row_count != (php_int_t)-1) {
                        stmt->row_count = row_count;
                }
                PDO_DBG_RETURN(1);
@@ -514,7 +514,7 @@ static int pdo_mysql_stmt_param_hook(pdo_stmt_t *stmt, 
struct pdo_bound_param_da
                                                        if (stm) {
                                                                
SEPARATE_ZVAL_IF_NOT_REF(&param->parameter);
                                                                
Z_TYPE_P(param->parameter) = IS_STRING;
-                                                               
Z_STRLEN_P(param->parameter) = php_stream_copy_to_mem(stm,
+                                                               
Z_STRSIZE_P(param->parameter) = php_stream_copy_to_mem(stm,
                                                                        
&Z_STRVAL_P(param->parameter), PHP_STREAM_COPY_ALL, 0);
                                                        } else {
                                                                
pdo_raise_impl_error(stmt->dbh, stmt, "HY105", "Expected a stream resource" 
TSRMLS_CC);
@@ -535,9 +535,9 @@ static int pdo_mysql_stmt_param_hook(pdo_stmt_t *stmt, 
struct pdo_bound_param_da
                                                
mysqlnd_stmt_bind_one_param(S->stmt, param->paramno, param->parameter, 
MYSQL_TYPE_VAR_STRING);
                                                break;
                                        case IS_LONG:
-#if SIZEOF_LONG==8
+#if SIZEOF_ZEND_INT==8
                                                
mysqlnd_stmt_bind_one_param(S->stmt, param->paramno, param->parameter, 
MYSQL_TYPE_LONGLONG);
-#elif SIZEOF_LONG==4
+#elif SIZEOF_ZEND_INT==4
                                                
mysqlnd_stmt_bind_one_param(S->stmt, param->paramno, param->parameter, 
MYSQL_TYPE_LONG);
 #endif /* SIZEOF_LONG */
                                                break;
@@ -555,8 +555,8 @@ static int pdo_mysql_stmt_param_hook(pdo_stmt_t *stmt, 
struct pdo_bound_param_da
                                        case IS_STRING:
                                                b->buffer_type = 
MYSQL_TYPE_STRING;
                                                b->buffer = 
Z_STRVAL_P(param->parameter);
-                                               b->buffer_length = 
Z_STRLEN_P(param->parameter);
-                                               *b->length = 
Z_STRLEN_P(param->parameter);
+                                               b->buffer_length = 
Z_STRSIZE_P(param->parameter);
+                                               *b->length = 
Z_STRSIZE_P(param->parameter);
                                                PDO_DBG_RETURN(1);
 
                                        case IS_LONG:
@@ -587,7 +587,7 @@ static int pdo_mysql_stmt_param_hook(pdo_stmt_t *stmt, 
struct pdo_bound_param_da
 }
 /* }}} */
 
-static int pdo_mysql_stmt_fetch(pdo_stmt_t *stmt, enum pdo_fetch_orientation 
ori, long offset TSRMLS_DC) /* {{{ */
+static int pdo_mysql_stmt_fetch(pdo_stmt_t *stmt, enum pdo_fetch_orientation 
ori, php_int_t offset TSRMLS_DC) /* {{{ */
 {
        pdo_mysql_stmt *S = (pdo_mysql_stmt*)stmt->driver_data;
 #if PDO_USE_MYSQLND
@@ -702,7 +702,7 @@ static int pdo_mysql_stmt_describe(pdo_stmt_t *stmt, int 
colno TSRMLS_DC) /* {{{
 }
 /* }}} */
 
-static int pdo_mysql_stmt_get_col(pdo_stmt_t *stmt, int colno, char **ptr, 
unsigned long *len, int *caller_frees TSRMLS_DC) /* {{{ */
+static int pdo_mysql_stmt_get_col(pdo_stmt_t *stmt, int colno, char **ptr, 
php_uint_t *len, int *caller_frees TSRMLS_DC) /* {{{ */
 {
        pdo_mysql_stmt *S = (pdo_mysql_stmt*)stmt->driver_data;
 
@@ -803,7 +803,7 @@ static char *type_to_name_native(int type) /* {{{ */
 #undef PDO_MYSQL_NATIVE_TYPE_NAME
 } /* }}} */
 
-static int pdo_mysql_stmt_col_meta(pdo_stmt_t *stmt, long colno, zval 
*return_value TSRMLS_DC) /* {{{ */
+static int pdo_mysql_stmt_col_meta(pdo_stmt_t *stmt, php_int_t colno, zval 
*return_value TSRMLS_DC) /* {{{ */
 {
        pdo_mysql_stmt *S = (pdo_mysql_stmt*)stmt->driver_data;
        const MYSQL_FIELD *F;
diff --git a/ext/pdo_mysql/pdo_mysql.c b/ext/pdo_mysql/pdo_mysql.c
index 78c4cee..4e17db0 100644
--- a/ext/pdo_mysql/pdo_mysql.c
+++ b/ext/pdo_mysql/pdo_mysql.c
@@ -101,25 +101,25 @@ static PHP_MINIT_FUNCTION(pdo_mysql)
 {
        REGISTER_INI_ENTRIES();
 
-       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_USE_BUFFERED_QUERY", 
(long)PDO_MYSQL_ATTR_USE_BUFFERED_QUERY);
-       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_LOCAL_INFILE", 
(long)PDO_MYSQL_ATTR_LOCAL_INFILE);    
-       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_INIT_COMMAND", 
(long)PDO_MYSQL_ATTR_INIT_COMMAND);
+       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_USE_BUFFERED_QUERY", 
(php_int_t)PDO_MYSQL_ATTR_USE_BUFFERED_QUERY);
+       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_LOCAL_INFILE", 
(php_int_t)PDO_MYSQL_ATTR_LOCAL_INFILE);       
+       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_INIT_COMMAND", 
(php_int_t)PDO_MYSQL_ATTR_INIT_COMMAND);
 #ifndef PDO_USE_MYSQLND
-       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_MAX_BUFFER_SIZE", 
(long)PDO_MYSQL_ATTR_MAX_BUFFER_SIZE);
-       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_READ_DEFAULT_FILE", 
(long)PDO_MYSQL_ATTR_READ_DEFAULT_FILE);
-       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_READ_DEFAULT_GROUP", 
(long)PDO_MYSQL_ATTR_READ_DEFAULT_GROUP);
+       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_MAX_BUFFER_SIZE", 
(php_int_t)PDO_MYSQL_ATTR_MAX_BUFFER_SIZE);
+       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_READ_DEFAULT_FILE", 
(php_int_t)PDO_MYSQL_ATTR_READ_DEFAULT_FILE);
+       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_READ_DEFAULT_GROUP", 
(php_int_t)PDO_MYSQL_ATTR_READ_DEFAULT_GROUP);
 #endif
-       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_COMPRESS", 
(long)PDO_MYSQL_ATTR_COMPRESS);
-       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_DIRECT_QUERY", 
(long)PDO_MYSQL_ATTR_DIRECT_QUERY);
-       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_FOUND_ROWS", 
(long)PDO_MYSQL_ATTR_FOUND_ROWS);
-       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_IGNORE_SPACE", 
(long)PDO_MYSQL_ATTR_IGNORE_SPACE);
-       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SSL_KEY", 
(long)PDO_MYSQL_ATTR_SSL_KEY);
-       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SSL_CERT", 
(long)PDO_MYSQL_ATTR_SSL_CERT);
-       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SSL_CA", 
(long)PDO_MYSQL_ATTR_SSL_CA);
-       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SSL_CAPATH", 
(long)PDO_MYSQL_ATTR_SSL_CAPATH);
-       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SSL_CIPHER", 
(long)PDO_MYSQL_ATTR_SSL_CIPHER);
+       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_COMPRESS", 
(php_int_t)PDO_MYSQL_ATTR_COMPRESS);
+       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_DIRECT_QUERY", 
(php_int_t)PDO_MYSQL_ATTR_DIRECT_QUERY);
+       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_FOUND_ROWS", 
(php_int_t)PDO_MYSQL_ATTR_FOUND_ROWS);
+       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_IGNORE_SPACE", 
(php_int_t)PDO_MYSQL_ATTR_IGNORE_SPACE);
+       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SSL_KEY", 
(php_int_t)PDO_MYSQL_ATTR_SSL_KEY);
+       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SSL_CERT", 
(php_int_t)PDO_MYSQL_ATTR_SSL_CERT);
+       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SSL_CA", 
(php_int_t)PDO_MYSQL_ATTR_SSL_CA);
+       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SSL_CAPATH", 
(php_int_t)PDO_MYSQL_ATTR_SSL_CAPATH);
+       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SSL_CIPHER", 
(php_int_t)PDO_MYSQL_ATTR_SSL_CIPHER);
 #if MYSQL_VERSION_ID > 50605 || defined(PDO_USE_MYSQLND)
-        REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SERVER_PUBLIC_KEY", 
(long)PDO_MYSQL_ATTR_SERVER_PUBLIC_KEY);
+        REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SERVER_PUBLIC_KEY", 
(php_int_t)PDO_MYSQL_ATTR_SERVER_PUBLIC_KEY);
 #endif
 
 
diff --git a/ext/pdo_mysql/php_pdo_mysql_int.h 
b/ext/pdo_mysql/php_pdo_mysql_int.h
index 24f7aa2..1ece5d0 100644
--- a/ext/pdo_mysql/php_pdo_mysql_int.h
+++ b/ext/pdo_mysql/php_pdo_mysql_int.h
@@ -122,9 +122,9 @@ typedef struct {
        const MYSQL_FIELD       *fields;
        MYSQL_ROW               current_data;
 #if PDO_USE_MYSQLND
-       unsigned long           *current_lengths;
+       php_uint_t              *current_lengths;
 #else
-       long                    *current_lengths;
+       php_int_t               *current_lengths;
 #endif
        pdo_mysql_error_info einfo;
 #if PDO_USE_MYSQLND
@@ -136,11 +136,11 @@ typedef struct {
        PDO_MYSQL_PARAM_BIND    *params;
 #ifndef PDO_USE_MYSQLND
        my_bool                 *in_null;
-       unsigned long           *in_length;
+       php_uint_t              *in_length;
 #endif
        PDO_MYSQL_PARAM_BIND    *bound_result;
        my_bool                 *out_null;
-       unsigned long           *out_length;
+       php_uint_t              *out_length;
        unsigned int            params_given;
        unsigned                max_length:1;
 } pdo_mysql_stmt;
-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to