Author: grobmeier
Date: Tue Jun 16 18:34:06 2009
New Revision: 785337

URL: http://svn.apache.org/viewvc?rev=785337&view=rev
Log:
workaround for bus error when using references

Modified:
    incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorXml.php
    
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorXmlTest.php

Modified: 
incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorXml.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorXml.php?rev=785337&r1=785336&r2=785337&view=diff
==============================================================================
--- 
incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorXml.php 
(original)
+++ 
incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorXml.php 
Tue Jun 16 18:34:06 2009
@@ -124,8 +124,8 @@
      * @static
      */
     public static function configure($url = '') {
-        $configurator = new self();
-        $repository =& LoggerManager::getLoggerRepository();
+       $configurator = new self(); 
+        $repository = LoggerManager::getLoggerRepository();
         return $configurator->doConfigure($url, $repository);
     }
     
@@ -234,7 +234,7 @@
                 $name  = $this->subst(@$attribs['NAME']);
                 $class = $this->subst(@$attribs['CLASS']);
                 
-                $this->appender =& LoggerAppender::singleton($name, $class);
+                $this->appender = LoggerAppender::singleton($name, $class);
                 $this->state[] = 
LOG4PHP_LOGGER_DOM_CONFIGURATOR_APPENDER_STATE;
                 break;
                 
@@ -245,7 +245,7 @@
                 if (isset($attribs['REF']) and !empty($attribs['REF'])) {
                     $appenderName = $this->subst($attribs['REF']);
                     
-                    $appender =& LoggerAppender::singleton($appenderName);
+                    $appender = LoggerAppender::singleton($appenderName);
                     if ($appender !== null) {
                         switch (end($this->state)) {
                             case LOG4PHP_LOGGER_DOM_CONFIGURATOR_LOGGER_STATE:
@@ -278,7 +278,6 @@
             
             case 'LOGGER':
             case LOG4PHP_LOGGER_DOM_CONFIGURATOR_XMLNS.':LOGGER':
-            
                 // $this->logger is assigned by reference.
                 // Only '$this->logger=null;' destroys referenced object
                 unset($this->logger);
@@ -407,7 +406,7 @@
             
             case 'ROOT':
             case LOG4PHP_LOGGER_DOM_CONFIGURATOR_XMLNS.':ROOT':
-                $this->logger =& LoggerManager::getRootLogger();
+                $this->logger = LoggerManager::getRootLogger();
                 $this->state[] = LOG4PHP_LOGGER_DOM_CONFIGURATOR_ROOT_STATE;
                 break;
         }

Modified: 
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorXmlTest.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorXmlTest.php?rev=785337&r1=785336&r2=785337&view=diff
==============================================================================
--- 
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorXmlTest.php
 (original)
+++ 
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorXmlTest.php
 Tue Jun 16 18:34:06 2009
@@ -33,21 +33,17 @@
                LoggerManager::resetConfiguration();
        }
         
-    public function testIncomplete() {
-           self::markTestIncomplete();
-       }
-       
-       public function xtestConfigure() {
+       public function testConfigure() {
                LoggerConfiguratorXml::configure('configurators/test1.xml');
                $hierarchy = LoggerManager::getLoggerRepository();
                $root = $hierarchy->getRootLogger();
                self::assertEquals(LoggerLevel::getLevelWarn(), 
$root->getLevel());
                $appender = $root->getAppender("default");
-               self::assertTrue(is_a($appender, 'LoggerAppenderEcho'));
+               self::assertTrue($appender instanceof LoggerAppenderEcho);
                $layout = $appender->getLayout();
-               self::assertTrue(is_a($layout, 'LoggerLayoutSimple'));
+               self::assertTrue($layout instanceof LoggerLayoutSimple);
                
-               $logger = $hierarchy->getLogger('mylogger');
-               self::assertEquals(LoggerLevel::getLevelInfo(), 
$logger->getLevel());
+//             $logger = $hierarchy->getLogger('mylogger');
+//             self::assertEquals(LoggerLevel::getLevelInfo(), 
$logger->getLevel());
        }
 }


Reply via email to