]> granicus.if.org Git - php/commitdiff
support arrays of error messages in addition to single strings
authorHartmut Holzgraefe <hholzgra@php.net>
Sat, 26 Apr 2003 15:20:18 +0000 (15:20 +0000)
committerHartmut Holzgraefe <hholzgra@php.net>
Sat, 26 Apr 2003 15:20:18 +0000 (15:20 +0000)
use PHP 5 style __constructor

scripts/ext_skel_ng/xml_stream_parser.php

index 25c3c548e9433be958c3f68fb582d39a0d0be8ee..fe0a4c9ad7e0b03e14cb0f55481cb1c372560de8 100644 (file)
@@ -2,10 +2,10 @@
 class xml_stream_parser  {
     var $parser;
 
-    function xml_stream_parser($stream)
+    function __construct($stream)
     {
-                       if(!is_resource($stream)) die("not a stream");
-                       if(get_resource_type($stream) != "stream") die("not a stream");
+                       if (!is_resource($stream)) die("not a stream");
+                       if (get_resource_type($stream) != "stream") die("not a stream");
 
                        $this->parser = xml_parser_create();
                        
@@ -14,7 +14,7 @@ class xml_stream_parser  {
                        xml_set_character_data_handler($this->parser, "cdata");
                        xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, false);
                
-                       while(!feof($stream)) {
+                       while (!feof($stream)) {
                                xml_parse($this->parser, fgets($stream), feof($stream));
                        }       
                        xml_parser_free($this->parser);
@@ -35,7 +35,19 @@ class xml_stream_parser  {
         var_dump($parser, $tag);
     }
 
-               function error($msg) {
+               function error($msg) 
+    {
+                       if (is_array($msg)) {
+                               if (count($msg)==1) {
+                                       $msg = current($msg);
+                               } else {
+                                       foreach ($msg as $text) {
+                                               echo "$text\n";
+                                       }
+                                       $msg = "...";
+                               }
+                       } 
+                       
                        die("$msg on line ".xml_get_current_line_number($this->parser));
                }
 } // end of class xml