]> granicus.if.org Git - php/commitdiff
This commit was manufactured by cvs2svn to create branch 'PHP_4_3'.
authorSVN Migration <svn@php.net>
Mon, 15 Sep 2003 20:30:33 +0000 (20:30 +0000)
committerSVN Migration <svn@php.net>
Mon, 15 Sep 2003 20:30:33 +0000 (20:30 +0000)
ext/mbstring/libmbfl/filters/html_entities.c [new file with mode: 0644]
tests/lang/bug25547.phpt [new file with mode: 0755]

diff --git a/ext/mbstring/libmbfl/filters/html_entities.c b/ext/mbstring/libmbfl/filters/html_entities.c
new file mode 100644 (file)
index 0000000..0fc0476
--- /dev/null
@@ -0,0 +1,297 @@
+/*
+ * "streamable kanji code filter and converter"
+ * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved.
+ *
+ * LICENSE NOTICES
+ *
+ * This file is part of "streamable kanji code filter and converter",
+ * which is distributed under the terms of GNU Lesser General Public 
+ * License (version 2) as published by the Free Software Foundation.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with "streamable kanji code filter and converter";
+ * if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA  02111-1307  USA
+ *
+ * The author of this part: Marcus Boerger <helly@php.net>
+ *
+ */
+/*
+ * The source code included in this files was separated from mbfilter.c
+ * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002.
+ * 
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "mbfilter.h"
+#include <string.h>
+
+const mbfl_html_entity mbfl_html_entity_list[] = { /*
+  {"quot",       34},  DO NOT CONVERT THESE AUTOMATICALLY
+  {"amp",        38},
+  {"lt",         60},
+  {"gt",         62},  */
+  {"nbsp",      160},
+  {"iexcl",     161},
+  {"cent",      162},
+  {"pound",     163},
+  {"curren",    164},
+  {"yen",       165},
+  {"brvbar",    166},
+  {"sect",      167},
+  {"uml",       168},
+  {"copy",      169},
+  {"ordf",      170},
+  {"laquo",     171},
+  {"not",       172},
+  {"shy",       173},
+  {"reg",       174},
+  {"macr",      175},
+  {"deg",       176},
+  {"plusmn",    177},
+  {"sup2",      178},
+  {"sup3",      179},
+  {"acute",     180},
+  {"micro",     181},
+  {"para",      182},
+  {"middot",    183},
+  {"cedil",     184},
+  {"sup1",      185},
+  {"ordm",      186},
+  {"raquo",     187},
+  {"frac14",    188},
+  {"frac12",    189},
+  {"frac34",    190},
+  {"iquest",    191},
+  {"Agrave",    192},
+  {"Aacute",    193},
+  {"Acirc",     194},
+  {"Atilde",    195},
+  {"Auml",      196},
+  {"Aring",     197},
+  {"AElig",     198},
+  {"Ccedil",    199},
+  {"Egrave",    200},
+  {"Eacute",    201},
+  {"Ecirc",     202},
+  {"Euml",      203},
+  {"Igrave",    204},
+  {"Iacute",    205},
+  {"Icirc",     206},
+  {"Iuml",      207},
+  {"ETH",       208},
+  {"Ntilde",    209},
+  {"Ograve",    210},
+  {"Oacute",    211},
+  {"Ocirc",     212},
+  {"Otilde",    213},
+  {"Ouml",      214},
+  {"times",     215},
+  {"Oslash",    216},
+  {"Ugrave",    217},
+  {"Uacute",    218},
+  {"Ucirc",     219},
+  {"Uuml",      220},
+  {"Yacute",    221},
+  {"THORN",     222},
+  {"szlig",     223},
+  {"agrave",    224},
+  {"aacute",    225},
+  {"acirc",     226},
+  {"atilde",    227},
+  {"auml",      228},
+  {"aring",     229},
+  {"aelig",     230},
+  {"ccedil",    231},
+  {"egrave",    232},
+  {"eacute",    233},
+  {"ecirc",     234},
+  {"euml",      235},
+  {"igrave",    236},
+  {"iacute",    237},
+  {"icirc",     238},
+  {"iuml",      239},
+  {"eth",       240},
+  {"ntilde",    241},
+  {"ograve",    242},
+  {"oacute",    243},
+  {"ocirc",     244},
+  {"otilde",    245},
+  {"ouml",      246},
+  {"divide",    247},
+  {"oslash",    248},
+  {"ugrave",    249},
+  {"uacute",    250},
+  {"ucirc",     251},
+  {"uuml",      252},
+  {"yacute",    253},
+  {"thorn",     254},
+  {"yuml",      255},
+  {"OElig",     338},
+  {"oelig",     339},
+  {"Scaron",    352},
+  {"scaron",    353},
+  {"Yuml",      376},
+  {"fnof",      402},
+  {"circ",      710},
+  {"tilde",     732},
+  {"Alpha",     913},
+  {"Beta",      914},
+  {"Gamma",     915},
+  {"Delta",     916},
+  {"Epsilon",   917},
+  {"Zeta",      918},
+  {"Eta",       919},
+  {"Theta",     920},
+  {"Iota",      921},
+  {"Kappa",     922},
+  {"Lambda",    923},
+  {"Mu",        924},
+  {"Nu",        925},
+  {"Xi",        926},
+  {"Omicron",   927},
+  {"Pi",        928},
+  {"Rho",       929},
+  {"Sigma",     931},
+  {"Tau",       932},
+  {"Upsilon",   933},
+  {"Phi",       934},
+  {"Chi",       935},
+  {"Psi",       936},
+  {"Omega",     937},
+  {"beta",      946},
+  {"gamma",     947},
+  {"delta",     948},
+  {"epsilon",   949},
+  {"zeta",      950},
+  {"eta",       951},
+  {"theta",     952},
+  {"iota",      953},
+  {"kappa",     954},
+  {"lambda",    955},
+  {"mu",        956},
+  {"nu",        957},
+  {"xi",        958},
+  {"omicron",   959},
+  {"pi",        960},
+  {"rho",       961},
+  {"sigmaf",    962},
+  {"sigma",     963},
+  {"tau",       964},
+  {"upsilon",   965},
+  {"phi",       966},
+  {"chi",       967},
+  {"psi",       968},
+  {"omega",     969},
+  {"thetasym",  977},
+  {"upsih",     978},
+  {"piv",       982},
+  {"ensp",     8194},
+  {"emsp",     8195},
+  {"thinsp",   8201},
+  {"zwnj",     8204},
+  {"zwj",      8205},
+  {"lrm",      8206},
+  {"rlm",      8207},
+  {"ndash",    8211},
+  {"mdash",    8212},
+  {"lsquo",    8216},
+  {"rsquo",    8217},
+  {"sbquo",    8218},
+  {"ldquo",    8220},
+  {"rdquo",    8221},
+  {"bdquo",    8222},
+  {"dagger",   8224},
+  {"Dagger",   8225},
+  {"bull",     8226},
+  {"hellip",   8230},
+  {"permil",   8240},
+  {"prime",    8242},
+  {"Prime",    8243},
+  {"lsaquo",   8249},
+  {"rsaquo",   8250},
+  {"oline",    8254},
+  {"frasl",    8260},
+  {"euro",     8364},
+  {"weierp",   8472},
+  {"image",    8465},
+  {"real",     8476},
+  {"trade",    8482},
+  {"alefsym",  8501},
+  {"larr",     8592},
+  {"uarr",     8593},
+  {"rarr",     8594},
+  {"darr",     8595},
+  {"harr",     8596},
+  {"crarr",    8629},
+  {"lArr",     8656},
+  {"uArr",     8657},
+  {"rArr",     8658},
+  {"dArr",     8659},
+  {"hArr",     8660},
+  {"forall",   8704},
+  {"part",     8706},
+  {"exist",    8707},
+  {"empty",    8709},
+  {"nabla",    8711},
+  {"isin",     8712},
+  {"notin",    8713},
+  {"ni",       8715},
+  {"prod",     8719},
+  {"sum",      8721},
+  {"minus",    8722},
+  {"lowast",   8727},
+  {"radic",    8730},
+  {"prop",     8733},
+  {"infin",    8734},
+  {"ang",      8736},
+  {"and",      8743},
+  {"or",       8744},
+  {"cap",      8745},
+  {"cup",      8746},
+  {"int",      8747},
+  {"there4",   8756},
+  {"sim",      8764},
+  {"cong",     8773},
+  {"asymp",    8776},
+  {"ne",       8800},
+  {"equiv",    8801},
+  {"le",       8804},
+  {"ge",       8805},
+  {"sub",      8834},
+  {"sup",      8835},
+  {"nsub",     8836},
+  {"sube",     8838},
+  {"supe",     8839},
+  {"oplus",    8853},
+  {"otimes",   8855},
+  {"perp",     8869},
+  {"sdot",     8901},
+  {"lceil",    8968},
+  {"rceil",    8969},
+  {"lfloor",   8970},
+  {"rfloor",   8971},
+  {"lang",     9001},
+  {"rang",     9002},
+  {"loz",      9674},
+  {"spades",   9824},
+  {"clubs",    9827},
+  {"hearts",   9829},
+  {"diams",    9830},
+  {NULL,         -1}  /* mark end of table */
+};
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * End:
+ */
diff --git a/tests/lang/bug25547.phpt b/tests/lang/bug25547.phpt
new file mode 100755 (executable)
index 0000000..cce556c
--- /dev/null
@@ -0,0 +1,30 @@
+--TEST--
+Bug #25547 (error_handler and array index with function call)
+--FILE--
+<?php
+
+function handler($errno, $errstr, $errfile, $errline, $context)
+{
+       echo __FUNCTION__ . "($errstr)\n";
+}
+
+set_error_handler('handler');
+
+function foo($x) {
+       return "foo";
+}
+
+$output = array();
+++$output[foo("bar")];
+
+print_r($output);
+
+echo "Done";
+?>
+--EXPECT--
+handler(Undefined index:  foo)
+Array
+(
+    [foo] => 1
+)
+Done