removed charset structure. libmysql now provides a function

mysqli_get_character_set_info (Vers. 5.0.10)
This commit is contained in:
Georg Richter 2005-07-12 09:35:16 +00:00
parent 2f558a3798
commit 9caaee66bd
2 changed files with 16 additions and 37 deletions

View file

@ -329,7 +329,7 @@ PHP_FUNCTION(mysqli_get_charset)
{
MY_MYSQL *mysql;
zval *mysql_link;
CHARSET_INFO *cs;
MY_CHARSET_INFO cs;
if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) {
return;
@ -338,13 +338,16 @@ PHP_FUNCTION(mysqli_get_charset)
object_init(return_value);
cs = (CHARSET_INFO *)mysql->mysql->charset;
mysql_get_character_set_info(mysql->mysql, &cs);
add_property_string(return_value, "charset", (cs->name) ? (char *)cs->csname : "", 1);
add_property_string(return_value, "collation",(cs->name) ? (char *)cs->name : "", 1);
add_property_string(return_value, "comment", (cs->comment) ? (char *)cs->comment : "", 1);
add_property_long(return_value, "min_length", cs->mbminlen);
add_property_long(return_value, "max_length", cs->mbmaxlen);
add_property_string(return_value, "charset", (cs.name) ? (char *)cs.csname : "", 1);
add_property_string(return_value, "collation",(cs.name) ? (char *)cs.name : "", 1);
add_property_string(return_value, "comment", (cs.comment) ? (char *)cs.comment : "", 1);
add_property_string(return_value, "dir", (cs.dir) ? (char *)cs.dir : "", 1);
add_property_long(return_value, "min_length", cs.mbminlen);
add_property_long(return_value, "max_length", cs.mbmaxlen);
add_property_long(return_value, "number", cs.number);
add_property_long(return_value, "state", cs.state);
}
/* }}} */

View file

@ -26,6 +26,12 @@
#endif
#include <mysql.h>
/* character set support */
#if MYSQL_VERSION_ID > 50009
#define HAVE_MYSQLI_SET_CHARSET
#endif
#include <errmsg.h>
#ifndef PHP_MYSQLI_H
@ -96,32 +102,6 @@ typedef struct {
void *userdata;
} mysqli_local_infile;
typedef struct {
uint number;
uint primary_number;
uint binary_number;
uint state;
const char *csname;
const char *name;
const char *comment;
const char *tailoring;
unsigned char *ctype;
unsigned char *to_lower;
unsigned char *to_upper;
unsigned char *sort_order;
unsigned short *contractions;
unsigned short **sort_order_big;
unsigned short *tab_to_uni;
void *tab_from_uni;
unsigned char *state_map;
unsigned char *ident_map;
uint strxfrm_multiply;
uint mbminlen;
uint mbmaxlen;
unsigned short min_sort_char;
unsigned short max_sort_char; /* For LIKE optimization */
} CHARSET_INFO;
#define phpext_mysqli_ptr &mysqli_module_entry
#ifdef PHP_WIN32
@ -130,10 +110,6 @@ typedef struct {
#define PHP_MYSQLI_API
#endif
#if (MYSQL_VERSION_ID > 40112 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID > 50005
#define HAVE_MYSQLI_SET_CHARSET
#endif
#ifdef ZTS
#include "TSRM.h"
#endif