Diff for /embedaddon/php/ext/mysql/php_mysql.c between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2012/02/21 23:47:58 version 1.1.1.2, 2012/05/29 12:34:41
Line 252  static const zend_function_entry mysql_functions[] = { Line 252  static const zend_function_entry mysql_functions[] = {
         PHP_FE(mysql_query,                                                                     arginfo_mysql_query)          PHP_FE(mysql_query,                                                                     arginfo_mysql_query)
         PHP_FE(mysql_unbuffered_query,                                          arginfo_mysql_query)          PHP_FE(mysql_unbuffered_query,                                          arginfo_mysql_query)
         PHP_DEP_FE(mysql_db_query,                                                      arginfo_mysql_db_query)          PHP_DEP_FE(mysql_db_query,                                                      arginfo_mysql_db_query)
        PHP_FE(mysql_list_dbs,                                                            arginfo__optional_mysql_link)        PHP_DEP_FE(mysql_list_dbs,                                                    arginfo__optional_mysql_link)
         PHP_DEP_FE(mysql_list_tables,                                           arginfo_mysql_select_db)          PHP_DEP_FE(mysql_list_tables,                                           arginfo_mysql_select_db)
         PHP_FE(mysql_list_fields,                                                       arginfo_mysql_list_fields)          PHP_FE(mysql_list_fields,                                                       arginfo_mysql_list_fields)
         PHP_FE(mysql_list_processes,                                            arginfo__optional_mysql_link)          PHP_FE(mysql_list_processes,                                            arginfo__optional_mysql_link)
Line 529  static PHP_GINIT_FUNCTION(mysql) Line 529  static PHP_GINIT_FUNCTION(mysql)
 }  }
 /* }}} */  /* }}} */
   
   #ifdef MYSQL_USE_MYSQLND
   #include "ext/mysqlnd/mysqlnd_reverse_api.h"
   static MYSQLND * mysql_convert_zv_to_mysqlnd(zval * zv TSRMLS_DC)
   {
           php_mysql_conn *mysql;
   
           if (Z_TYPE_P(zv) != IS_RESOURCE) {
                   /* Might be nicer to check resource type, too, but ext/mysql is the only one using resources so emitting an error is not to bad, while usually this hook should be silent */
                   return NULL;
           }
   
           mysql = (php_mysql_conn *)zend_fetch_resource(&zv TSRMLS_CC, -1, "MySQL-Link", NULL, 2, le_link, le_plink);
   
           if (!mysql) {
                   return NULL;
           }
   
           return mysql->conn;
   }
   
   static MYSQLND_REVERSE_API mysql_reverse_api = {
           &mysql_module_entry,
           mysql_convert_zv_to_mysqlnd
   };
   #endif
   
 /* {{{ PHP_MINIT_FUNCTION  /* {{{ PHP_MINIT_FUNCTION
  */   */
 ZEND_MODULE_STARTUP_D(mysql)  ZEND_MODULE_STARTUP_D(mysql)
Line 557  ZEND_MODULE_STARTUP_D(mysql) Line 583  ZEND_MODULE_STARTUP_D(mysql)
 #endif  #endif
 #endif  #endif
   
   #ifdef MYSQL_USE_MYSQLND
           mysqlnd_reverse_api_register_api(&mysql_reverse_api TSRMLS_CC);
   #endif
   
         return SUCCESS;          return SUCCESS;
 }  }
 /* }}} */  /* }}} */
Line 735  static void php_mysql_do_connect(INTERNAL_FUNCTION_PAR Line 765  static void php_mysql_do_connect(INTERNAL_FUNCTION_PAR
                         php_error_docref(NULL TSRMLS_CC, E_NOTICE, "SQL safe mode in effect - ignoring host/user/password information");                          php_error_docref(NULL TSRMLS_CC, E_NOTICE, "SQL safe mode in effect - ignoring host/user/password information");
                 }                  }
                 host_and_port=passwd=NULL;                  host_and_port=passwd=NULL;
                user=php_get_current_user();                user=php_get_current_user(TSRMLS_C);
                 hashed_details_length = spprintf(&hashed_details, 0, "mysql__%s_", user);                  hashed_details_length = spprintf(&hashed_details, 0, "mysql__%s_", user);
                 client_flags = CLIENT_INTERACTIVE;                  client_flags = CLIENT_INTERACTIVE;
         } else {          } else {
Line 1579  PHP_FUNCTION(mysql_list_dbs) Line 1609  PHP_FUNCTION(mysql_list_dbs)
                 id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);                  id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
                 CHECK_LINK(id);                  CHECK_LINK(id);
         }          }
           php_error_docref(NULL TSRMLS_CC, E_DEPRECATED, "This function is deprecated; use mysql_query() with SHOW DATABASES instead");
   
         ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink);          ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink);
   
         PHPMY_UNBUFFERED_QUERY_CHECK();          PHPMY_UNBUFFERED_QUERY_CHECK();
   
   
         if ((mysql_result=mysql_list_dbs(mysql->conn, NULL))==NULL) {          if ((mysql_result=mysql_list_dbs(mysql->conn, NULL))==NULL) {
                 php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to save MySQL query result");                  php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to save MySQL query result");
                 RETURN_FALSE;                  RETURN_FALSE;
Line 1811  PHP_FUNCTION(mysql_escape_string) Line 1843  PHP_FUNCTION(mysql_escape_string)
         Z_STRLEN_P(return_value) = mysql_escape_string(Z_STRVAL_P(return_value), str, str_len);          Z_STRLEN_P(return_value) = mysql_escape_string(Z_STRVAL_P(return_value), str, str_len);
         Z_TYPE_P(return_value) = IS_STRING;          Z_TYPE_P(return_value) = IS_STRING;
   
        if (MySG(trace_mode)){        php_error_docref("function.mysql-real-escape-string" TSRMLS_CC, E_DEPRECATED, "This function is deprecated; use mysql_real_escape_string() instead.");
                php_error_docref("function.mysql-real-escape-string" TSRMLS_CC, E_DEPRECATED, "This function is deprecated; use mysql_real_escape_string() instead."); 
        } 
 }  }
 /* }}} */  /* }}} */
   
Line 1959  Q: String or long first? Line 1989  Q: String or long first?
         if (sql_row[field_offset]) {          if (sql_row[field_offset]) {
                 Z_TYPE_P(return_value) = IS_STRING;                  Z_TYPE_P(return_value) = IS_STRING;
   
   #if PHP_API_VERSION < 20100412          
                 if (PG(magic_quotes_runtime)) {                  if (PG(magic_quotes_runtime)) {
                         Z_STRVAL_P(return_value) = php_addslashes(sql_row[field_offset], sql_row_lengths[field_offset],&Z_STRLEN_P(return_value), 0 TSRMLS_CC);                          Z_STRVAL_P(return_value) = php_addslashes(sql_row[field_offset], sql_row_lengths[field_offset],&Z_STRLEN_P(return_value), 0 TSRMLS_CC);
                 } else {                  } else {
   #endif                  
                         Z_STRLEN_P(return_value) = sql_row_lengths[field_offset];                          Z_STRLEN_P(return_value) = sql_row_lengths[field_offset];
                         Z_STRVAL_P(return_value) = (char *) safe_estrndup(sql_row[field_offset], Z_STRLEN_P(return_value));                          Z_STRVAL_P(return_value) = (char *) safe_estrndup(sql_row[field_offset], Z_STRLEN_P(return_value));
   #if PHP_API_VERSION < 20100412
                 }                  }
   #endif          
         } else {          } else {
                 Z_TYPE_P(return_value) = IS_NULL;                  Z_TYPE_P(return_value) = IS_NULL;
         }          }
Line 2082  static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PAR Line 2116  static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PAR
   
                         MAKE_STD_ZVAL(data);                          MAKE_STD_ZVAL(data);
   
   #if PHP_API_VERSION < 20100412                  
                         if (PG(magic_quotes_runtime)) {                          if (PG(magic_quotes_runtime)) {
                                 Z_TYPE_P(data) = IS_STRING;                                  Z_TYPE_P(data) = IS_STRING;
                                 Z_STRVAL_P(data) = php_addslashes(mysql_row[i], mysql_row_lengths[i], &Z_STRLEN_P(data), 0 TSRMLS_CC);                                  Z_STRVAL_P(data) = php_addslashes(mysql_row[i], mysql_row_lengths[i], &Z_STRLEN_P(data), 0 TSRMLS_CC);
                         } else {                          } else {
   #endif                          
                                 ZVAL_STRINGL(data, mysql_row[i], mysql_row_lengths[i], 1);                                  ZVAL_STRINGL(data, mysql_row[i], mysql_row_lengths[i], 1);
   #if PHP_API_VERSION < 20100412                          
                         }                          }
   #endif                  
   
                         if (result_type & MYSQL_NUM) {                          if (result_type & MYSQL_NUM) {
                                 add_index_zval(return_value, i, data);                                  add_index_zval(return_value, i, data);
Line 2378  PHP_FUNCTION(mysql_fetch_field) Line 2416  PHP_FUNCTION(mysql_fetch_field)
         }          }
         object_init(return_value);          object_init(return_value);
   
        add_property_string(return_value, "name", (char *) (mysql_field->name?mysql_field->name:""), 1);        add_property_string(return_value, "name",(mysql_field->name?mysql_field->name:""), 1);
        add_property_string(return_value, "table",(char *) (mysql_field->table?mysql_field->table:""), 1);        add_property_string(return_value, "table",(mysql_field->table?mysql_field->table:""), 1);
         add_property_string(return_value, "def",(mysql_field->def?mysql_field->def:""), 1);          add_property_string(return_value, "def",(mysql_field->def?mysql_field->def:""), 1);
         add_property_long(return_value, "max_length", mysql_field->max_length);          add_property_long(return_value, "max_length", mysql_field->max_length);
         add_property_long(return_value, "not_null", IS_NOT_NULL(mysql_field->flags)?1:0);          add_property_long(return_value, "not_null", IS_NOT_NULL(mysql_field->flags)?1:0);

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>