masugata Mon Mar 27 15:20:02 2006 UTC
Modified files:
/php-src/ext/mbstring mbstring.c mbstring.h
Log:
added mb_list_mime_names( ).
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.c?r1=1.249&r2=1.250&diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.249
php-src/ext/mbstring/mbstring.c:1.250
--- php-src/ext/mbstring/mbstring.c:1.249 Sun Mar 26 02:23:25 2006
+++ php-src/ext/mbstring/mbstring.c Mon Mar 27 15:20:02 2006
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: mbstring.c,v 1.249 2006/03/26 02:23:25 masugata Exp $ */
+/* $Id: mbstring.c,v 1.250 2006/03/27 15:20:02 masugata Exp $ */
/*
* PHP 4 Multibyte String module "mbstring"
@@ -214,6 +214,7 @@
PHP_FE(mb_detect_encoding, NULL)
PHP_FE(mb_list_encodings, NULL)
PHP_FE(mb_list_encodings_alias_names, NULL)
+ PHP_FE(mb_list_mime_names, NULL)
PHP_FE(mb_convert_kana, NULL)
PHP_FE(mb_encode_mimeheader, NULL)
PHP_FE(mb_decode_mimeheader, NULL)
@@ -2425,6 +2426,58 @@
}
/* }}} */
+/* {{{ proto mixed mb_list_mime_names([string encoding])
+ Returns an array or string of all supported mime names */
+PHP_FUNCTION(mb_list_mime_names)
+{
+ const mbfl_encoding **encodings;
+ const mbfl_encoding *encoding;
+ enum mbfl_no_encoding no_encoding;
+ int i;
+ char *name = NULL;
+ int name_len;
+
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &name,
&name_len) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+ if (name == NULL) {
+ array_init(return_value);
+ i = 0;
+ encodings = mbfl_get_supported_encodings();
+ while ((encoding = encodings[i++]) != NULL) {
+ if(encoding->mime_name != NULL) {
+ add_assoc_string(return_value, (char *)
encoding->name, (char *) encoding->mime_name, 1);
+ } else{
+ add_assoc_string(return_value, (char *)
encoding->name, "", 1);
+ }
+ }
+ } else {
+ no_encoding = mbfl_name2no_encoding(name);
+ if (no_encoding == mbfl_no_encoding_invalid) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown
encoding \"%s\"", name);
+ RETURN_FALSE;
+ }
+
+ name = (char *)mbfl_no_encoding2name(no_encoding);
+ if (name != NULL) {
+ i = 0;
+ encodings = mbfl_get_supported_encodings();
+ while ((encoding = encodings[i++]) != NULL) {
+ if (strcmp(encoding->name, name) != 0){
continue; }
+ if(encoding->mime_name != NULL) {
+ RETURN_STRING((char *)
encoding->mime_name, 1);
+ }
+ break;
+ }
+ RETURN_STRING("", 1);
+ } else {
+ RETURN_FALSE;
+ }
+ }
+}
+/* }}} */
+
/* {{{ proto string mb_encode_mimeheader(string str [, string charset [,
string transfer-encoding [, string linefeed [, int indent]]]])
Converts the string to MIME "encoded-word" in the format of
=?charset?(B|Q)?encoded_string?= */
PHP_FUNCTION(mb_encode_mimeheader)
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.h?r1=1.71&r2=1.72&diff_format=u
Index: php-src/ext/mbstring/mbstring.h
diff -u php-src/ext/mbstring/mbstring.h:1.71
php-src/ext/mbstring/mbstring.h:1.72
--- php-src/ext/mbstring/mbstring.h:1.71 Thu Mar 23 20:14:41 2006
+++ php-src/ext/mbstring/mbstring.h Mon Mar 27 15:20:02 2006
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: mbstring.h,v 1.71 2006/03/23 20:14:41 masugata Exp $ */
+/* $Id: mbstring.h,v 1.72 2006/03/27 15:20:02 masugata Exp $ */
/*
* PHP 4 Multibyte String module "mbstring" (currently only for Japanese)
@@ -113,6 +113,7 @@
PHP_FUNCTION(mb_detect_encoding);
PHP_FUNCTION(mb_list_encodings);
PHP_FUNCTION(mb_list_encodings_alias_names);
+PHP_FUNCTION(mb_list_mime_names);
PHP_FUNCTION(mb_convert_kana);
PHP_FUNCTION(mb_encode_mimeheader);
PHP_FUNCTION(mb_decode_mimeheader);
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php