From 2c841008f0cbf877699356320de71e0ad0a6eadd Mon Sep 17 00:00:00 2001 From: Andrey Hristov Date: Wed, 6 Aug 2008 19:25:03 +0000 Subject: Re-add mysql_set_charset. Missed during introduction of mysqlnd. Exists in HEAD, thus no merge --- ext/mysql/php_mysql.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'ext/mysql/php_mysql.c') diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c index b395f6cdc6..abc06503f7 100644 --- a/ext/mysql/php_mysql.c +++ b/ext/mysql/php_mysql.c @@ -192,7 +192,9 @@ static const zend_function_entry mysql_functions[] = { #endif PHP_FE(mysql_info, NULL) - +#ifdef MYSQL_HAS_SET_CHARSET + PHP_FE(mysql_set_charset, NULL) +#endif /* for downwards compatability */ PHP_FALIAS(mysql, mysql_db_query, NULL) PHP_FALIAS(mysql_fieldname, mysql_field_name, NULL) @@ -1242,6 +1244,36 @@ PHP_FUNCTION(mysql_client_encoding) /* }}} */ #endif +#ifdef MYSQL_HAS_SET_CHARSET +/* {{{ proto bool mysql_set_charset(string csname [, int link_identifier]) + sets client character set */ +PHP_FUNCTION(mysql_set_charset) +{ + zval *mysql_link = NULL; + char *csname; + int id = -1, csname_len; + php_mysql_conn *mysql; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|r", &csname, &csname_len, &mysql_link) == FAILURE) { + return; + } + + if (ZEND_NUM_ARGS() == 1) { + id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU); + CHECK_LINK(id); + } + + ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink); + + if (!mysql_set_character_set(mysql->conn, csname)) { + RETURN_TRUE; + } else { + RETURN_FALSE; + } +} +/* }}} */ +#endif + #ifndef NETWARE /* The below two functions not supported on NetWare */ #if MYSQL_VERSION_ID < 40000 /* {{{ proto bool mysql_create_db(string database_name [, int link_identifier]) -- cgit v1.2.1