You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4cxx-dev@logging.apache.org by ca...@apache.org on 2005/06/14 00:00:05 UTC

cvs commit: logging-log4cxx/tests/witness/rolling tbr-test1.1 tbr-test1.2 tbr-test1.3 tbr-test2.1 tbr-test2.2 tbr-test2.3 tbr-test3.3 tbr-test4.1 tbr-test4.2 tbr-test4.3 tbr-test5.1 tbr-test5.2 tbr-test5.3 tbr-test6.3

carnold     2005/06/13 15:00:05

  Modified:    .        build.xml
               include/log4cxx hierarchy.h log4cxx.h.in log4cxx.hw
               include/log4cxx/filter locationinfofilter.h mapfilter.h
                        propertyfilter.h reflectionfilter.h
               include/log4cxx/helpers class.h date.h object.h thread.h
               include/log4cxx/pattern patternconverter.h
               src      class.cpp configurator.cpp date.cpp
                        defaultconfigurator.cpp fileappender.cpp
                        hierarchy.cpp nameabbreviator.cpp patternparser.cpp
                        rollingpolicybase.cpp thread.cpp
               tests/src vectorappender.cpp
               tests/src/helpers cacheddateformattestcase.cpp
                        charsetdecodertestcase.cpp
                        charsetencodertestcase.cpp
                        iso8601dateformattestcase.cpp
                        relativetimedateformattestcase.cpp
                        timezonetestcase.cpp
               tests/src/net smtpappendertestcase.cpp
               tests/src/nt nteventlogappendertestcase.cpp
               tests/witness/rolling tbr-test1.1 tbr-test1.2 tbr-test1.3
                        tbr-test2.1 tbr-test2.2 tbr-test2.3 tbr-test3.3
                        tbr-test4.1 tbr-test4.2 tbr-test4.3 tbr-test5.1
                        tbr-test5.2 tbr-test5.3 tbr-test6.3
  Log:
  LOGCXX-77: Force class registration before configuration
  
  Revision  Changes    Path
  1.70      +11 -2     logging-log4cxx/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/build.xml,v
  retrieving revision 1.69
  retrieving revision 1.70
  diff -u -r1.69 -r1.70
  --- build.xml	1 Jun 2005 18:40:23 -0000	1.69
  +++ build.xml	13 Jun 2005 22:00:03 -0000	1.70
  @@ -942,6 +942,12 @@
        build-simplesocketserver, build-performance"
        description="Builds all artifacts"/>
   
  +<target name="clean-output" depends="init">
  +     <delete>
  +         <fileset dir="${tests.dir}/output"/>
  +     </delete>
  +</target>
  +
   <target name="run-defaultinit-unittest" depends="build-defaultinit-unittest"
       description="Runs default init unit tests">
   
  @@ -1023,7 +1029,7 @@
   
   </target>
   
  -<target name="run-unittest" depends="build-unittest, run-defaultinit-unittest"
  +<target name="run-unittest" depends="build-unittest, run-defaultinit-unittest, clean-output"
       description="Runs unit test">
       <property environment="env"/>
       <mkdir dir="${tests.dir}/output"/>
  @@ -1047,7 +1053,7 @@
   </target>
   
   <target name="run-standalone-unittest"
  -   depends="build-standalone-unittest"
  +   depends="build-standalone-unittest, clean-output"
      description="Runs standalone unit test">
       <property environment="env"/>
       <mkdir dir="${tests.dir}/output"/>
  @@ -1149,6 +1155,8 @@
               <include name="*.xml"/>
               <include name="examples/*.cpp"/>
               <include name="include/**/*.h"/>
  +            <include name="include/**/*.h.in"/>
  +            <include name="include/**/*.hw"/>
               <include name="mock/*"/>
               <include name="performance/*.cpp"/>
               <include name="performance/*.h"/>
  @@ -1167,6 +1175,7 @@
               <include name="**/*.in"/>
               <include name="**/*.patch"/>
               <exclude name="**/.cvsignore"/>
  +            <exclude name="lib/**"/>
           </tarfileset>
       </tar>
   </target>
  
  
  
  1.19      +1 -1      logging-log4cxx/include/log4cxx/hierarchy.h
  
  Index: hierarchy.h
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/include/log4cxx/hierarchy.h,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- hierarchy.h	13 May 2005 22:10:50 -0000	1.18
  +++ hierarchy.h	13 Jun 2005 22:00:04 -0000	1.19
  @@ -277,7 +277,7 @@
   
               void updateChildren(ProvisionNode& pn, LoggerPtr& logger);
               log4cxx::helpers::Mutex mutex;
  -            bool configured;
  +            volatile log4cxx_uint32_t configured;
           };
   
   }  //namespace log4cxx
  
  
  
  1.2       +2 -0      logging-log4cxx/include/log4cxx/log4cxx.h.in
  
  Index: log4cxx.h.in
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/include/log4cxx/log4cxx.h.in,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- log4cxx.h.in	4 May 2005 16:13:40 -0000	1.1
  +++ log4cxx.h.in	13 Jun 2005 22:00:04 -0000	1.2
  @@ -38,5 +38,7 @@
   typedef long long log4cxx_int64_t;
   typedef log4cxx_int64_t log4cxx_time_t;
   typedef int log4cxx_status_t;
  +typedef unsigned int log4cxx_uint32_t;
  +
   
   #endif
  
  
  
  1.4       +59 -60    logging-log4cxx/include/log4cxx/log4cxx.hw
  
  Index: log4cxx.hw
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/include/log4cxx/log4cxx.hw,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- log4cxx.hw	7 May 2005 15:12:15 -0000	1.3
  +++ log4cxx.hw	13 Jun 2005 22:00:04 -0000	1.4
  @@ -1,60 +1,59 @@
  -/* Copyright 2003-2005 The Apache Software Foundation
  - *
  - * Licensed under the Apache License, Version 2.0 (the "License");
  - * you may not use this file except in compliance with the License.
  - * You may obtain a copy of the License at
  - *
  - *     http://www.apache.org/licenses/LICENSE-2.0
  - *
  - * Unless required by applicable law or agreed to in writing, software
  - * distributed under the License is distributed on an "AS IS" BASIS,
  - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  - * See the License for the specific language governing permissions and
  - * limitations under the License.
  - */
  -
  -
  -#ifndef LOG4CXX_LOG4CXX_H
  -#define LOG4CXX_LOG4CXX_H
  -
  -/* GENERATED FILE WARNING!  DO NOT EDIT log4cxx_private.h
  - *
  - * Edit log4cxx_private.h.in instead
  - *
  - */
  -
  -
  -#define LOG4CXX_LOGCHAR_IS_UTF8 0
  -#if LOG4CXX_LOGCHAR_IS_UTF8
  -#define LOG4CXX_LOGCHAR_IS_WCHAR 0
  -#else
  -#define LOG4CXX_LOGCHAR_IS_WCHAR 1
  -#endif
  -
  -#define LOG4CXX_HAS_WCHAR_T 1
  -
  -
  -#if defined(_MSC_VER)
  -typedef __int64 log4cxx_int64_t;
  -#else
  -typedef long long log4cxx_int64_t;
  -#endif
  -
  -typedef log4cxx_int64_t log4cxx_time_t;
  -typedef int log4cxx_status_t;
  -
  -#if defined(LOG4CXX_STATIC)
  -#define LOG4CXX_EXPORT
  -#else
  -#ifdef LOG4CXX
  -        #define LOG4CXX_EXPORT __declspec(dllexport)
  -#else
  -        #define LOG4CXX_EXPORT __declspec(dllimport)
  -#endif
  -#endif
  -
  -#define LOG4CXX_LOCALE_ENCODING_UTF8 0
  -#define LOG4CXX_LOCALE_ENCODING_ISO_8859_1 0
  -#define LOG4CXX_LOCALE_ENCODING_US_ASCII 0
  -
  -#endif
  +/* Copyright 2003-2005 The Apache Software Foundation
  + *
  + * Licensed under the Apache License, Version 2.0 (the "License");
  + * you may not use this file except in compliance with the License.
  + * You may obtain a copy of the License at
  + *
  + *     http://www.apache.org/licenses/LICENSE-2.0
  + *
  + * Unless required by applicable law or agreed to in writing, software
  + * distributed under the License is distributed on an "AS IS" BASIS,
  + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  + * See the License for the specific language governing permissions and
  + * limitations under the License.
  + */
  +
  +#ifndef LOG4CXX_LOG4CXX_H
  +#define LOG4CXX_LOG4CXX_H
  +
  +/* GENERATED FILE WARNING!  DO NOT EDIT log4cxx_private.h
  + *
  + * Edit log4cxx_private.h.in instead
  + *
  + */
  +
  +#define LOG4CXX_LOGCHAR_IS_UTF8 0
  +#if LOG4CXX_LOGCHAR_IS_UTF8
  +#define LOG4CXX_LOGCHAR_IS_WCHAR 0
  +#else
  +#define LOG4CXX_LOGCHAR_IS_WCHAR 1
  +#endif
  +
  +#define LOG4CXX_HAS_WCHAR_T 1
  +
  +#if defined(_MSC_VER)
  +typedef __int64 log4cxx_int64_t;
  +#else
  +typedef long long log4cxx_int64_t;
  +#endif
  +
  +typedef log4cxx_int64_t log4cxx_time_t;
  +typedef int log4cxx_status_t;
  +typedef unsigned int log4cxx_uint32_t;
  +
  +#if defined(LOG4CXX_STATIC)
  +#define LOG4CXX_EXPORT
  +#else
  +#ifdef LOG4CXX
  +        #define LOG4CXX_EXPORT __declspec(dllexport)
  +#else
  +        #define LOG4CXX_EXPORT __declspec(dllimport)
  +#endif
  +#endif
  +
  +#define LOG4CXX_LOCALE_ENCODING_UTF8 0
  +#define LOG4CXX_LOCALE_ENCODING_ISO_8859_1 0
  +#define LOG4CXX_LOCALE_ENCODING_US_ASCII 0
  +
  +#endif
  +
  
  
  
  1.2       +2 -2      logging-log4cxx/include/log4cxx/filter/locationinfofilter.h
  
  Index: locationinfofilter.h
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/include/log4cxx/filter/locationinfofilter.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- locationinfofilter.h	1 Jun 2005 19:23:14 -0000	1.1
  +++ locationinfofilter.h	13 Jun 2005 22:00:04 -0000	1.2
  @@ -76,8 +76,8 @@
     public int decide(LoggingEvent event) {
       if (!event.locationInformationExists()) {
         if (expressionRule.evaluate(event)) {
  -	      Throwable t = new Exception();
  -	      event.setLocationInformation(new LocationInfo(t, className));
  +         Throwable t = new Exception();
  +         event.setLocationInformation(new LocationInfo(t, className));
         }
       }
       return Filter.NEUTRAL;
  
  
  
  1.2       +27 -27    logging-log4cxx/include/log4cxx/filter/mapfilter.h
  
  Index: mapfilter.h
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/include/log4cxx/filter/mapfilter.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- mapfilter.h	1 Jun 2005 19:23:14 -0000	1.1
  +++ mapfilter.h	13 Jun 2005 22:00:04 -0000	1.2
  @@ -24,38 +24,38 @@
   
   public class MapFilter extends Filter {
   
  -	/**
  -	 * NOTE: This filter modifies logging events by adding properties to the event.
  -	 * 
  -	 * The object passed in as the event message must implement java.util.Map.
  +   /**
  +    * NOTE: This filter modifies logging events by adding properties to the event.
  +    * 
  +    * The object passed in as the event message must implement java.util.Map.
      * 
      * This filter converts the event message (a Map) into properties on the event.
      * 
      * If the map holds an entry with a key of "message", the value of the entry is used
      * as the rendered message.
      * 
  -	 * @since 1.3
  -	 */
  -	public int decide(LoggingEvent event) {
  -		Map properties = event.getProperties();
  -		Hashtable eventProps = null;
  -		if (properties == null) {
  -			eventProps = new Hashtable();
  -		} else {
  -			eventProps = new Hashtable(properties);
  -		}
  -	
  -		if (event.getMessage() instanceof Map) {
  -			for (Iterator iter = ((Map)event.getMessage()).entrySet().iterator();iter.hasNext();) {
  +    * @since 1.3
  +    */
  +   public int decide(LoggingEvent event) {
  +      Map properties = event.getProperties();
  +      Hashtable eventProps = null;
  +      if (properties == null) {
  +         eventProps = new Hashtable();
  +      } else {
  +         eventProps = new Hashtable(properties);
  +      }
  +   
  +      if (event.getMessage() instanceof Map) {
  +         for (Iterator iter = ((Map)event.getMessage()).entrySet().iterator();iter.hasNext();) {
           Map.Entry entry = (Map.Entry)iter.next();
  -				if ("message".equalsIgnoreCase(entry.getKey().toString())) {
  -					event.setRenderedMessage(entry.getValue().toString());
  -				} else {
  -					eventProps.put(entry.getKey(), entry.getValue());
  -				}
  -			}
  -			event.setProperties(eventProps);
  -		}
  -		return Filter.NEUTRAL;
  -	}
  +            if ("message".equalsIgnoreCase(entry.getKey().toString())) {
  +               event.setRenderedMessage(entry.getValue().toString());
  +            } else {
  +               eventProps.put(entry.getKey(), entry.getValue());
  +            }
  +         }
  +         event.setProperties(eventProps);
  +      }
  +      return Filter.NEUTRAL;
  +   }
   }
  
  
  
  1.2       +30 -30    logging-log4cxx/include/log4cxx/filter/propertyfilter.h
  
  Index: propertyfilter.h
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/include/log4cxx/filter/propertyfilter.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- propertyfilter.h	1 Jun 2005 19:23:14 -0000	1.1
  +++ propertyfilter.h	13 Jun 2005 22:00:04 -0000	1.2
  @@ -42,34 +42,34 @@
    * @since 1.3
    */
   public class PropertyFilter extends Filter {
  -	private Hashtable properties;
  -	public void setProperties(String props) {
  -		properties = parseProperties(props);
  -	}
  -	
  -	public int decide(LoggingEvent event) {
  -		Map eventProps = event.getProperties();
  -		if (eventProps == null) {
  -			event.setProperties(new Hashtable(properties));
  -		} else {
  -		    //only add properties that don't already exist
  -		    for (Iterator iter = properties.keySet().iterator();iter.hasNext();) {
  -		        Object key = iter.next();
  -		        if (!(eventProps.containsKey(key))) {
  -		            eventProps.put(key, properties.get(key));
  -		        }
  -		    }
  -		}
  -		return Filter.NEUTRAL;
  -	}
  -	
  -	private Hashtable parseProperties(String props) {
  -		Hashtable hashTable = new Hashtable();
  -		StringTokenizer pairs = new StringTokenizer(props, ",");
  -		while (pairs.hasMoreTokens()) {
  -			StringTokenizer entry = new StringTokenizer(pairs.nextToken(), "=");
  -			hashTable.put(entry.nextElement().toString().trim(), entry.nextElement().toString().trim());
  -		}
  -		return hashTable;
  -	}
  +   private Hashtable properties;
  +   public void setProperties(String props) {
  +      properties = parseProperties(props);
  +   }
  +   
  +   public int decide(LoggingEvent event) {
  +      Map eventProps = event.getProperties();
  +      if (eventProps == null) {
  +         event.setProperties(new Hashtable(properties));
  +      } else {
  +          //only add properties that don't already exist
  +          for (Iterator iter = properties.keySet().iterator();iter.hasNext();) {
  +              Object key = iter.next();
  +              if (!(eventProps.containsKey(key))) {
  +                  eventProps.put(key, properties.get(key));
  +              }
  +          }
  +      }
  +      return Filter.NEUTRAL;
  +   }
  +   
  +   private Hashtable parseProperties(String props) {
  +      Hashtable hashTable = new Hashtable();
  +      StringTokenizer pairs = new StringTokenizer(props, ",");
  +      while (pairs.hasMoreTokens()) {
  +         StringTokenizer entry = new StringTokenizer(pairs.nextToken(), "=");
  +         hashTable.put(entry.nextElement().toString().trim(), entry.nextElement().toString().trim());
  +      }
  +      return hashTable;
  +   }
   }
  
  
  
  1.2       +50 -50    logging-log4cxx/include/log4cxx/filter/reflectionfilter.h
  
  Index: reflectionfilter.h
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/include/log4cxx/filter/reflectionfilter.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- reflectionfilter.h	1 Jun 2005 19:23:14 -0000	1.1
  +++ reflectionfilter.h	13 Jun 2005 22:00:04 -0000	1.2
  @@ -28,54 +28,54 @@
   
   public class ReflectionFilter extends Filter {
   
  -	/**
  -	 * NOTE: This filter modifies logging events by adding   
  -	 * properties to the event.
  -	 * 
  -	 * The object passed in as the message must provide a message via toString 
  -	 * or provide a 'message' property, which will be set as the rendered message.
  -	 * 
  -	 * This ReflectionFilter uses the JavaBeans BeanInfo and PropertyDescriptor mechanisms to discover 
  -	 * readMethods available on the 'message' object provided by the event.
  -	 *  
  -	 * For each method available on the object via the BeanInfo PropertyDescriptors, the method is executed
  -	 * and a property is added to the event, using the results of the method call as the value 
  -	 * and the method name as the key.
  -	 * 
  -	 * @since 1.3
  -	 */
  -	public int decide(LoggingEvent event) {
  -		Map properties = event.getProperties();
  -		Hashtable eventProps = null;
  -		if (properties == null) {
  -			eventProps = new Hashtable();
  -		} else {
  -			eventProps = new Hashtable(properties);
  -		}
  -	
  -		//ignore strings and the object class properties
  -		if (!(event.getMessage() instanceof String)) {
  -			PropertyDescriptor[] props;
  -			try {
  -				props = Introspector.getBeanInfo(event.getMessage().getClass(), Object.class).getPropertyDescriptors();
  -				for (int i=0;i<props.length;i++) {
  -					if ("message".equalsIgnoreCase(props[i].getName())) {
  -						event.setRenderedMessage(props[i].getReadMethod().invoke(event.getMessage(), null).toString());
  -					} else {
  -						eventProps.put(props[i].getName(), props[i].getReadMethod().invoke(event.getMessage(), null).toString());
  -					}
  -				}
  -				event.setProperties(eventProps);
  -			} catch (IntrospectionException e) {
  -				e.printStackTrace();
  -			} catch (IllegalArgumentException e1) {
  -				e1.printStackTrace();
  -			} catch (IllegalAccessException e1) {
  -				e1.printStackTrace();
  -			} catch (InvocationTargetException e1) {
  -				e1.printStackTrace();
  -			}
  -		}
  -		return Filter.NEUTRAL;
  -	}
  +   /**
  +    * NOTE: This filter modifies logging events by adding   
  +    * properties to the event.
  +    * 
  +    * The object passed in as the message must provide a message via toString 
  +    * or provide a 'message' property, which will be set as the rendered message.
  +    * 
  +    * This ReflectionFilter uses the JavaBeans BeanInfo and PropertyDescriptor mechanisms to discover 
  +    * readMethods available on the 'message' object provided by the event.
  +    *  
  +    * For each method available on the object via the BeanInfo PropertyDescriptors, the method is executed
  +    * and a property is added to the event, using the results of the method call as the value 
  +    * and the method name as the key.
  +    * 
  +    * @since 1.3
  +    */
  +   public int decide(LoggingEvent event) {
  +      Map properties = event.getProperties();
  +      Hashtable eventProps = null;
  +      if (properties == null) {
  +         eventProps = new Hashtable();
  +      } else {
  +         eventProps = new Hashtable(properties);
  +      }
  +   
  +      //ignore strings and the object class properties
  +      if (!(event.getMessage() instanceof String)) {
  +         PropertyDescriptor[] props;
  +         try {
  +            props = Introspector.getBeanInfo(event.getMessage().getClass(), Object.class).getPropertyDescriptors();
  +            for (int i=0;i<props.length;i++) {
  +               if ("message".equalsIgnoreCase(props[i].getName())) {
  +                  event.setRenderedMessage(props[i].getReadMethod().invoke(event.getMessage(), null).toString());
  +               } else {
  +                  eventProps.put(props[i].getName(), props[i].getReadMethod().invoke(event.getMessage(), null).toString());
  +               }
  +            }
  +            event.setProperties(eventProps);
  +         } catch (IntrospectionException e) {
  +            e.printStackTrace();
  +         } catch (IllegalArgumentException e1) {
  +            e1.printStackTrace();
  +         } catch (IllegalAccessException e1) {
  +            e1.printStackTrace();
  +         } catch (InvocationTargetException e1) {
  +            e1.printStackTrace();
  +         }
  +      }
  +      return Filter.NEUTRAL;
  +   }
   }
  
  
  
  1.19      +1 -0      logging-log4cxx/include/log4cxx/helpers/class.h
  
  Index: class.h
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/include/log4cxx/helpers/class.h,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- class.h	15 Feb 2005 23:55:59 -0000	1.18
  +++ class.h	13 Jun 2005 22:00:04 -0000	1.19
  @@ -47,6 +47,7 @@
                           Class& operator=(const Class&);
                           typedef std::map<LogString, const Class *> ClassMap;
                           static ClassMap& getRegistry();
  +                        static void registerClasses();
                   };
           }  // namespace log4cxx
   } // namespace helper
  
  
  
  1.4       +9 -9      logging-log4cxx/include/log4cxx/helpers/date.h
  
  Index: date.h
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/include/log4cxx/helpers/date.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- date.h	2 Jun 2005 03:46:23 -0000	1.3
  +++ date.h	13 Jun 2005 22:00:04 -0000	1.4
  @@ -44,16 +44,16 @@
   
         inline log4cxx_time_t getTime() const {
           return time;
  -      }
  -
  -      /**
  -       *   Get start of next second
  -       */
  -      log4cxx_time_t getNextSecond() const;
  -
  -
  +      }
  +
  +      /**
  +       *   Get start of next second
  +       */
  +      log4cxx_time_t getNextSecond() const;
  +
  +
         static log4cxx_time_t getMicrosecondsPerDay();
  -      static log4cxx_time_t getMicrosecondsPerSecond();
  +      static log4cxx_time_t getMicrosecondsPerSecond();
   
         };
   
  
  
  
  1.22      +23 -10    logging-log4cxx/include/log4cxx/helpers/object.h
  
  Index: object.h
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/include/log4cxx/helpers/object.h,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- object.h	1 Apr 2005 02:02:33 -0000	1.21
  +++ object.h	13 Jun 2005 22:00:04 -0000	1.22
  @@ -20,7 +20,7 @@
   #include <log4cxx/logstring.h>
   #include <log4cxx/helpers/class.h>
   #include <log4cxx/helpers/objectptr.h>
  -
  +#include <log4cxx/helpers/classregistration.h>
   
   
   #define DECLARE_ABSTRACT_LOG4CXX_OBJECT(object)\
  @@ -32,7 +32,8 @@
           virtual const log4cxx::logchar* getName() const { return LOG4CXX_STR(#object); } \
   };\
   virtual const helpers::Class& getClass() const;\
  -static const helpers::Class& getStaticClass();
  +static const helpers::Class& getStaticClass(); \
  +static const log4cxx::helpers::ClassRegistration& registerClass();
   
   #define DECLARE_LOG4CXX_OBJECT(object)\
   public:\
  @@ -47,20 +48,29 @@
           }\
   };\
   virtual const helpers::Class& getClass() const;\
  -static const helpers::Class& getStaticClass();
  +static const helpers::Class& getStaticClass(); \
  +static const log4cxx::helpers::ClassRegistration& registerClass();
   
   #define DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS(object, class)\
   public:\
   virtual const helpers::Class& getClass() const;\
  -static const helpers::Class& getStaticClass();
  +static const helpers::Class& getStaticClass();\
  +static const log4cxx::helpers::ClassRegistration&  registerClass();
   
   #define IMPLEMENT_LOG4CXX_OBJECT(object)\
   const log4cxx::helpers::Class& object::getClass() const { return getStaticClass(); }\
   const log4cxx::helpers::Class& object::getStaticClass() { \
      static Class##object theClass;                         \
      return theClass;                                       \
  -}                                                         \
  -namespace log4cxx { namespace classes { bool object##IsRegistered = log4cxx::helpers::Class::registerClass(object::getStaticClass()); } }
  +}                                                                      \
  +const log4cxx::helpers::ClassRegistration& object::registerClass() {   \
  +    static log4cxx::helpers::ClassRegistration classReg(object::getStaticClass); \
  +    return classReg; \
  +}\
  +namespace log4cxx { namespace classes { \
  +const log4cxx::helpers::ClassRegistration& object##Registration = object::registerClass(); \
  +} }
  +
   
   #define IMPLEMENT_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS(object, class)\
   const log4cxx::helpers::Class& object::getClass() const { return getStaticClass(); }\
  @@ -68,10 +78,13 @@
      static class theClass;                                 \
      return theClass;                                       \
   }                                                         \
  -namespace log4cxx { namespace classes { bool object##IsRegistered = log4cxx::helpers::Class::registerClass(object::getStaticClass()); } }
  -
  -#define REFERENCE_LOG4CXX_OBJECT(object)\
  -namespace log4cxx { namespace classes { extern bool object##IsRegistered; } }
  +const log4cxx::helpers::ClassRegistration& object::registerClass() {   \
  +    static log4cxx::helpers::ClassRegistration classReg(object::getStaticClass); \
  +    return classReg; \
  +}\
  +namespace log4cxx { namespace classes { \
  +const log4cxx::helpers::ClassRegistration& object##Registration = object::registerClass(); \
  +} }
   
   namespace log4cxx
   {
  
  
  
  1.30      +2 -2      logging-log4cxx/include/log4cxx/helpers/thread.h
  
  Index: thread.h
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/include/log4cxx/helpers/thread.h,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- thread.h	2 Jun 2005 03:46:23 -0000	1.29
  +++ thread.h	13 Jun 2005 22:00:04 -0000	1.30
  @@ -51,8 +51,8 @@
                           //    immediate exit from the start method
                           void ending();
   
  -                        inline bool isActive() { return thread != 0; }
  -
  +                        inline bool isActive() { return thread != 0; }
  +
                           static void sleep(log4cxx_time_t duration);
   
                   private:
  
  
  
  1.3       +5 -5      logging-log4cxx/include/log4cxx/pattern/patternconverter.h
  
  Index: patternconverter.h
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/include/log4cxx/pattern/patternconverter.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- patternconverter.h	1 Jun 2005 20:40:25 -0000	1.2
  +++ patternconverter.h	13 Jun 2005 22:00:04 -0000	1.3
  @@ -20,11 +20,11 @@
   
   #include <log4cxx/helpers/objectimpl.h>
   #include <log4cxx/logstring.h>
  -#include <vector>
  -
  -#ifdef _MSC_VER
  -//   disable identifier too wide for debugging warning
  -#pragma warning (disable : 4786)
  +#include <vector>
  +
  +#ifdef _MSC_VER
  +//   disable identifier too wide for debugging warning
  +#pragma warning (disable : 4786)
   #endif
   
   #define DECLARE_LOG4CXX_PATTERN(cls) DECLARE_ABSTRACT_LOG4CXX_OBJECT(cls)
  
  
  
  1.22      +83 -5     logging-log4cxx/src/class.cpp
  
  Index: class.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/src/class.cpp,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- class.cpp	7 May 2005 15:12:15 -0000	1.21
  +++ class.cpp	13 Jun 2005 22:00:04 -0000	1.22
  @@ -21,11 +21,49 @@
   #include <log4cxx/helpers/stringhelper.h>
   #include <log4cxx/private/log4cxx_private.h>
   
  -using namespace log4cxx;
  -using namespace log4cxx::helpers;
   
  +#include <log4cxx/asyncappender.h>
  +#include <log4cxx/consoleappender.h>
  +#include <log4cxx/fileappender.h>
  +#ifdef LOG4CXX_HAVE_ODBC
  +#include <log4cxx/db/odbcappender.h>
  +#endif
  +#if defined(WIN32) || defined(_WIN32)
  +#include <log4cxx/nt/nteventlogappender.h>
  +#include <log4cxx/nt/outputdebugstringappender.h>
  +#endif
  +#include <log4cxx/rolling/rollingfileappender.h>
  +#ifdef LOG4CXX_HAVE_SMTP
  +#include <log4cxx/net/smtpappender.h>
  +#endif
  +#include <log4cxx/net/socketappender.h>
  +#include <log4cxx/net/sockethubappender.h>
  +#include <log4cxx/helpers/datagramsocket.h>
  +#include <log4cxx/net/syslogappender.h>
  +#include <log4cxx/net/telnetappender.h>
  +#include <log4cxx/writerappender.h>
  +#include <log4cxx/net/xmlsocketappender.h>
  +#include <log4cxx/layout.h>
  +#include <log4cxx/patternlayout.h>
  +#include <log4cxx/htmllayout.h>
  +#include <log4cxx/simplelayout.h>
  +#include <log4cxx/xml/xmllayout.h>
  +#include <log4cxx/ttcclayout.h>
  +
  +#include <log4cxx/filter/levelmatchfilter.h>
  +#include <log4cxx/filter/levelrangefilter.h>
  +#include <log4cxx/filter/stringmatchfilter.h>
   
   
  +
  +using namespace log4cxx;
  +using namespace log4cxx::helpers;
  +using namespace log4cxx::net;
  +using namespace log4cxx::nt;
  +using namespace log4cxx::filter;
  +using namespace log4cxx::xml;
  +using namespace log4cxx::rolling;
  +
   Class::Class() {
   }
   
  @@ -47,6 +85,7 @@
   }
   
   
  +
   Class::ClassMap& Class::getRegistry() {
       static ClassMap registry;
       return registry;
  @@ -64,12 +103,19 @@
           {
                   strippedClassName.assign(className);
           }
  +        strippedClassName = StringHelper::toLowerCase(strippedClassName);
   
  -        const Class * clazz = getRegistry()[StringHelper::toLowerCase(strippedClassName)];
  +        const Class * clazz = getRegistry()[strippedClassName];
   
  -        if (clazz == 0)
  -        {
  +        if (clazz == 0) {
  +            //
  +            //   make sure all well-known classes are registered
  +            //
  +            registerClasses();
  +            clazz = getRegistry()[strippedClassName];
  +            if (clazz == 0) {
                   throw ClassNotFoundException(className);
  +            }
           }
   
           return *clazz;
  @@ -80,3 +126,35 @@
           getRegistry()[StringHelper::toLowerCase(newClass.getName())] = &newClass;
           return true;
   }
  +
  +void Class::registerClasses() {
  +        AsyncAppender::registerClass();
  +        ConsoleAppender::registerClass();
  +        FileAppender::registerClass();
  +#ifdef LOG4CXX_HAVE_ODBC
  +        ODBCAppender::registerClass();
  +#endif
  +#if defined(WIN32) || defined(_WIN32)
  +        NTEventLogAppender::registerClass();
  +        OutputDebugStringAppender::registerClass();
  +#endif
  +        RollingFileAppender::registerClass();
  +#ifdef LOG4CXX_HAVE_SMTP
  +        SMTPAppender::registerClass();
  +#endif
  +        SocketAppender::registerClass();
  +        SocketHubAppender::registerClass();
  +        SyslogAppender::registerClass();
  +        TelnetAppender::registerClass();
  +        XMLSocketAppender::registerClass();
  + //       DateLayout::registerClass();
  +        HTMLLayout::registerClass();
  +        PatternLayout::registerClass();
  +        SimpleLayout::registerClass();
  +        TTCCLayout::registerClass();
  +        XMLLayout::registerClass();
  +        LevelMatchFilter::registerClass();
  +        LevelRangeFilter::registerClass();
  +        StringMatchFilter::registerClass();
  +}
  +
  
  
  
  1.8       +0 -76     logging-log4cxx/src/configurator.cpp
  
  Index: configurator.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/src/configurator.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- configurator.cpp	11 Apr 2005 04:36:34 -0000	1.7
  +++ configurator.cpp	13 Jun 2005 22:00:04 -0000	1.8
  @@ -25,81 +25,5 @@
   
   
   
  -#define REFERENCE_LOG4CXX_OBJECT(object) \
  -namespace log4cxx { namespace classes { extern bool object##IsRegistered; } }
  -
  -#define STATUS_LOG4CXX_OBJECT(object) \
  -log4cxx::classes::object##IsRegistered
  -
  -
  -//
  -//   force all common Appenders and Layouts to be referenced here
  -//     so that a static link including a configurator is
  -//     required to pull them in
  -//
  -REFERENCE_LOG4CXX_OBJECT(AsyncAppender)
  -REFERENCE_LOG4CXX_OBJECT(ConsoleAppender)
  -REFERENCE_LOG4CXX_OBJECT(FileAppender)
  -#ifdef LOG4CXX_HAVE_ODBC
  -REFERENCE_LOG4CXX_OBJECT(ODBCAppender)
  -#endif
  -#if defined(WIN32) || defined(_WIN32)
  -REFERENCE_LOG4CXX_OBJECT(NTEventLogAppender)
  -REFERENCE_LOG4CXX_OBJECT(OutputDebugStringAppender)
  -#endif
  -REFERENCE_LOG4CXX_OBJECT(RollingFileAppender)
  -#ifdef LOG4CXX_HAVE_SMTP
  -REFERENCE_LOG4CXX_OBJECT(SMTPAppender)
  -#endif
  -REFERENCE_LOG4CXX_OBJECT(SocketAppender)
  -REFERENCE_LOG4CXX_OBJECT(SocketHubAppender)
  -REFERENCE_LOG4CXX_OBJECT(SyslogAppender)
  -REFERENCE_LOG4CXX_OBJECT(TelnetAppender)
  -REFERENCE_LOG4CXX_OBJECT(WriterAppender)
  -REFERENCE_LOG4CXX_OBJECT(XMLSocketAppender)
  -//REFERENCE_LOG4CXX_OBJECT(DateLayout)
  -REFERENCE_LOG4CXX_OBJECT(HTMLLayout)
  -REFERENCE_LOG4CXX_OBJECT(Layout)
  -REFERENCE_LOG4CXX_OBJECT(PatternLayout)
  -REFERENCE_LOG4CXX_OBJECT(SimpleLayout)
  -REFERENCE_LOG4CXX_OBJECT(TTCCLayout)
  -REFERENCE_LOG4CXX_OBJECT(XMLLayout)
  -REFERENCE_LOG4CXX_OBJECT(LevelMatchFilter)
  -REFERENCE_LOG4CXX_OBJECT(LevelRangeFilter)
  -REFERENCE_LOG4CXX_OBJECT(StringMatchFilter)
  -
  -
  -
   Configurator::Configurator() {
  -    initialized =
  -        STATUS_LOG4CXX_OBJECT(AsyncAppender) &&
  -        STATUS_LOG4CXX_OBJECT(ConsoleAppender) &&
  -        STATUS_LOG4CXX_OBJECT(FileAppender) &&
  -#ifdef LOG4CXX_HAVE_ODBC
  -        STATUS_LOG4CXX_OBJECT(ODBCAppender) &&
  -#endif
  -#if defined(WIN32) || defined(_WIN32)
  -        STATUS_LOG4CXX_OBJECT(NTEventLogAppender) &&
  -        STATUS_LOG4CXX_OBJECT(OutputDebugStringAppender) &&
  -#endif
  -        STATUS_LOG4CXX_OBJECT(RollingFileAppender) &&
  -#ifdef LOG4CXX_HAVE_SMTP
  -        STATUS_LOG4CXX_OBJECT(SMTPAppender) &&
  -#endif
  -        STATUS_LOG4CXX_OBJECT(SocketAppender) &&
  -        STATUS_LOG4CXX_OBJECT(SocketHubAppender) &&
  -        STATUS_LOG4CXX_OBJECT(SyslogAppender) &&
  -        STATUS_LOG4CXX_OBJECT(TelnetAppender) &&
  -        STATUS_LOG4CXX_OBJECT(WriterAppender) &&
  -        STATUS_LOG4CXX_OBJECT(XMLSocketAppender) &&
  - //       STATUS_LOG4CXX_OBJECT(DateLayout) &&
  -        STATUS_LOG4CXX_OBJECT(HTMLLayout) &&
  -        STATUS_LOG4CXX_OBJECT(Layout) &&
  -        STATUS_LOG4CXX_OBJECT(PatternLayout) &&
  -        STATUS_LOG4CXX_OBJECT(SimpleLayout) &&
  -        STATUS_LOG4CXX_OBJECT(TTCCLayout) &&
  -        STATUS_LOG4CXX_OBJECT(XMLLayout) &&
  -        STATUS_LOG4CXX_OBJECT(LevelMatchFilter) &&
  -        STATUS_LOG4CXX_OBJECT(LevelRangeFilter) &&
  -        STATUS_LOG4CXX_OBJECT(StringMatchFilter);
   }
  
  
  
  1.5       +1 -1      logging-log4cxx/src/date.cpp
  
  Index: date.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/src/date.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- date.cpp	8 Jun 2005 15:53:50 -0000	1.4
  +++ date.cpp	13 Jun 2005 22:00:04 -0000	1.5
  @@ -49,4 +49,4 @@
   
   log4cxx_time_t Date::getNextSecond() const {
       return ((time / APR_USEC_PER_SEC) + 1) * APR_USEC_PER_SEC;
  -}
  \ No newline at end of file
  +}
  
  
  
  1.2       +1 -1      logging-log4cxx/src/defaultconfigurator.cpp
  
  Index: defaultconfigurator.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/src/defaultconfigurator.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- defaultconfigurator.cpp	13 May 2005 22:10:51 -0000	1.1
  +++ defaultconfigurator.cpp	13 Jun 2005 22:00:04 -0000	1.2
  @@ -1,5 +1,5 @@
   /*
  - * Copyright 2003,2004 The Apache Software Foundation.
  + * Copyright 2003,2005 The Apache Software Foundation.
    *
    * Licensed under the Apache License, Version 2.0 (the "License");
    * you may not use this file except in compliance with the License.
  
  
  
  1.26      +1 -0      logging-log4cxx/src/fileappender.cpp
  
  Index: fileappender.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/src/fileappender.cpp,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- fileappender.cpp	1 Jun 2005 18:40:26 -0000	1.25
  +++ fileappender.cpp	13 Jun 2005 22:00:04 -0000	1.26
  @@ -31,6 +31,7 @@
   
   IMPLEMENT_LOG4CXX_OBJECT(FileAppender)
   
  +
   FileAppender::FileAppender()
   : fileAppend(true), fileName(), bufferedIO(false), bufferSize(8*1024),
     fileClosed(1)
  
  
  
  1.23      +7 -8      logging-log4cxx/src/hierarchy.cpp
  
  Index: hierarchy.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/src/hierarchy.cpp,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- hierarchy.cpp	13 May 2005 22:10:51 -0000	1.22
  +++ hierarchy.cpp	13 Jun 2005 22:00:04 -0000	1.23
  @@ -28,6 +28,7 @@
   #include <log4cxx/helpers/stringhelper.h>
   #include <log4cxx/helpers/aprinitializer.h>
   #include <log4cxx/defaultconfigurator.h>
  +#include <apr_atomic.h>
   
   
   using namespace log4cxx;
  @@ -219,14 +220,12 @@
      //   if repository hasn't been configured,
      //     do default configuration
      //
  -   if (!configured) {
  -     synchronized sync(mutex);
  -      if (!configured) {
  -         DefaultConfigurator::configure(const_cast<Hierarchy*>(this));
  -      } 
  +   if (apr_atomic_xchg32(const_cast<volatile unsigned int*>(&configured), 1) == 0) {
  +        DefaultConfigurator::configure(
  +            const_cast<Hierarchy*>(this));
      }
   
  -    return thresholdInt > level;
  +   return thresholdInt > level;
   }
   
   
  @@ -350,9 +349,9 @@
   }
   
   void Hierarchy::setConfigured(bool newValue) {
  -   configured = newValue;
  +    apr_atomic_set32(&configured, newValue ? 1 : 0);
   }
   
   bool Hierarchy::isConfigured() {
  -   return configured;
  +    return configured ? true : false;
   }
  
  
  
  1.3       +1 -1      logging-log4cxx/src/nameabbreviator.cpp
  
  Index: nameabbreviator.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/src/nameabbreviator.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- nameabbreviator.cpp	1 Jun 2005 20:40:26 -0000	1.2
  +++ nameabbreviator.cpp	13 Jun 2005 22:00:04 -0000	1.3
  @@ -141,7 +141,7 @@
   
       PatternAbbreviatorFragment& operator=(const PatternAbbreviatorFragment& src) {
          charCount = src.charCount;
  -       ellipsis = src.ellipsis;
  +       ellipsis = src.ellipsis;
          return *this;
       }
   
  
  
  
  1.38      +27 -27    logging-log4cxx/src/patternparser.cpp
  
  Index: patternparser.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/src/patternparser.cpp,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- patternparser.cpp	2 Jun 2005 03:46:23 -0000	1.37
  +++ patternparser.cpp	13 Jun 2005 22:00:05 -0000	1.38
  @@ -20,9 +20,9 @@
   
   using namespace log4cxx;
   using namespace log4cxx::pattern;
  -using namespace log4cxx::helpers;
  -
  -const logchar PatternParser::ESCAPE_CHAR = LOG4CXX_STR('%');
  +using namespace log4cxx::helpers;
  +
  +const logchar PatternParser::ESCAPE_CHAR = LOG4CXX_STR('%');
   
   
   /**
  @@ -55,9 +55,9 @@
   int PatternParser::extractConverter(
     logchar lastChar, const LogString& pattern,
     int i, LogString& convBuf,
  -  LogString& currentLiteral) {
  +  LogString& currentLiteral) {
     if (!convBuf.empty()) { 
  -    convBuf.erase(convBuf.begin(), convBuf.end());
  +    convBuf.erase(convBuf.begin(), convBuf.end());
     }
   
     // When this method is called, lastChar points to the first character of the
  @@ -143,10 +143,10 @@
             if (!currentLiteral.empty()) {
               patternConverters.push_back(
                 LiteralPatternConverter::newInstance(currentLiteral));
  -            formattingInfos.push_back(FormattingInfo::getDefault());
  +            formattingInfos.push_back(FormattingInfo::getDefault());
               currentLiteral.erase(currentLiteral.begin(), currentLiteral.end());
             }
  -
  +
             currentLiteral.append(1, c); // append %
             state = CONVERTER_STATE;
             formattingInfo = FormattingInfo::getDefault();
  @@ -189,9 +189,9 @@
   
             // Next pattern is assumed to be a literal.
             state = LITERAL_STATE;
  -          formattingInfo = FormattingInfo::getDefault();
  +          formattingInfo = FormattingInfo::getDefault();
             if (!currentLiteral.empty()) {
  -            currentLiteral.erase(currentLiteral.begin(), currentLiteral.end());
  +            currentLiteral.erase(currentLiteral.begin(), currentLiteral.end());
             }
           }
         } // switch
  @@ -214,9 +214,9 @@
               c, pattern, i, currentLiteral, formattingInfo,
               rules, patternConverters, formattingInfos);
           state = LITERAL_STATE;
  -        formattingInfo = FormattingInfo::getDefault();
  +        formattingInfo = FormattingInfo::getDefault();
           if (!currentLiteral.empty()) {
  -            currentLiteral.erase(currentLiteral.begin(), currentLiteral.end());
  +            currentLiteral.erase(currentLiteral.begin(), currentLiteral.end());
           }
         }
   
  @@ -252,9 +252,9 @@
               c, pattern, i, currentLiteral, formattingInfo,
               rules, patternConverters, formattingInfos);
           state = LITERAL_STATE;
  -        formattingInfo = FormattingInfo::getDefault();
  +        formattingInfo = FormattingInfo::getDefault();
           if (!currentLiteral.empty()) {
  -            currentLiteral.erase(currentLiteral.begin(), currentLiteral.end());
  +            currentLiteral.erase(currentLiteral.begin(), currentLiteral.end());
           }
         }
   
  @@ -302,13 +302,13 @@
     std::vector<PatternConverterPtr>& patternConverters,
     std::vector<FormattingInfoPtr>&  formattingInfos) {
     LogString convBuf;
  -  i = extractConverter(c, pattern, i, convBuf, currentLiteral);
  -  if (convBuf.empty()) {
  -     LogLog::error(LOG4CXX_STR("Empty conversion specifier"));
  -     patternConverters.push_back(
  -         LiteralPatternConverter::newInstance(currentLiteral));
  -     formattingInfos.push_back(FormattingInfo::getDefault());
  -  } else {
  +  i = extractConverter(c, pattern, i, convBuf, currentLiteral);
  +  if (convBuf.empty()) {
  +     LogLog::error(LOG4CXX_STR("Empty conversion specifier"));
  +     patternConverters.push_back(
  +         LiteralPatternConverter::newInstance(currentLiteral));
  +     formattingInfos.push_back(FormattingInfo::getDefault());
  +  } else {
        LogString converterId(convBuf);
   
        std::vector<LogString> options;
  @@ -322,10 +322,10 @@
           LogString msg(LOG4CXX_STR("Unrecognized conversion specifier ["));
           msg.append(converterId);
           msg.append(LOG4CXX_STR("] in conversion pattern."));
  -        LogLog::error(msg);
  -        patternConverters.push_back(
  -           LiteralPatternConverter::newInstance(currentLiteral));
  -        formattingInfos.push_back(FormattingInfo::getDefault());
  +        LogLog::error(msg);
  +        patternConverters.push_back(
  +           LiteralPatternConverter::newInstance(currentLiteral));
  +        formattingInfos.push_back(FormattingInfo::getDefault());
        } else {
           patternConverters.push_back(pc);
           formattingInfos.push_back(formattingInfo);
  @@ -335,11 +335,11 @@
                 LiteralPatternConverter::newInstance(currentLiteral));
              formattingInfos.push_back(FormattingInfo::getDefault());
           }
  -     }
  +     }
     }
  -
  +
     if (!currentLiteral.empty()) {
  -    currentLiteral.erase(currentLiteral.begin(), currentLiteral.end());
  +    currentLiteral.erase(currentLiteral.begin(), currentLiteral.end());
     }
   
     return i;
  
  
  
  1.3       +4 -4      logging-log4cxx/src/rollingpolicybase.cpp
  
  Index: rollingpolicybase.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/src/rollingpolicybase.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- rollingpolicybase.cpp	1 Jun 2005 20:40:26 -0000	1.2
  +++ rollingpolicybase.cpp	13 Jun 2005 22:00:05 -0000	1.3
  @@ -109,8 +109,8 @@
           return *converterIter;
         }
     }
  -  PatternConverterPtr noMatch;
  -  return noMatch;
  +  PatternConverterPtr noMatch;
  +  return noMatch;
   }
   
   PatternConverterPtr RollingPolicyBase::getDatePatternConverter() const {
  @@ -122,8 +122,8 @@
         if (datePattern != NULL) {
           return *converterIter;
         }
  -  }
  -  PatternConverterPtr noMatch;
  +  }
  +  PatternConverterPtr noMatch;
     return noMatch;
   }
   
  
  
  
  1.29      +5 -5      logging-log4cxx/src/thread.cpp
  
  Index: thread.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/src/thread.cpp,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- thread.cpp	2 Jun 2005 03:46:23 -0000	1.28
  +++ thread.cpp	13 Jun 2005 22:00:05 -0000	1.29
  @@ -77,8 +77,8 @@
   void Thread::ending() {
           finished = true;
   }
  -
  -
  -void Thread::sleep(log4cxx_time_t duration) {
  -    apr_sleep(duration);
  -}
  \ No newline at end of file
  +
  +
  +void Thread::sleep(log4cxx_time_t duration) {
  +    apr_sleep(duration);
  +}
  
  
  
  1.9       +1 -1      logging-log4cxx/tests/src/vectorappender.cpp
  
  Index: vectorappender.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/src/vectorappender.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- vectorappender.cpp	2 Jun 2005 03:46:23 -0000	1.8
  +++ vectorappender.cpp	13 Jun 2005 22:00:05 -0000	1.9
  @@ -15,7 +15,7 @@
    */
   
   #include "vectorappender.h"
  -#include <log4cxx/helpers/thread.h>
  +#include <log4cxx/helpers/thread.h>
   
   using namespace log4cxx;
   using namespace log4cxx::helpers;
  
  
  
  1.16      +1 -1      logging-log4cxx/tests/src/helpers/cacheddateformattestcase.cpp
  
  Index: cacheddateformattestcase.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/src/helpers/cacheddateformattestcase.cpp,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- cacheddateformattestcase.cpp	2 Jun 2005 03:52:20 -0000	1.15
  +++ cacheddateformattestcase.cpp	13 Jun 2005 22:00:05 -0000	1.16
  @@ -63,7 +63,7 @@
   #endif
        CPPUNIT_TEST( test6 );
        CPPUNIT_TEST( test8 );
  -//   Gump doesn't like this test
  +//   Gump doesn't like this test
   //     CPPUNIT_TEST( test9 );
        CPPUNIT_TEST( test10 );
        CPPUNIT_TEST( test11);
  
  
  
  1.4       +4 -4      logging-log4cxx/tests/src/helpers/charsetdecodertestcase.cpp
  
  Index: charsetdecodertestcase.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/src/helpers/charsetdecodertestcase.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- charsetdecodertestcase.cpp	2 Jun 2005 03:46:23 -0000	1.3
  +++ charsetdecodertestcase.cpp	13 Jun 2005 22:00:05 -0000	1.4
  @@ -22,10 +22,10 @@
   #include <log4cxx/helpers/bytebuffer.h>
   
   using namespace log4cxx;
  -using namespace log4cxx::helpers;
  -
  -
  -#define APR_SUCCESS ((log4cxx_status_t) 0)
  +using namespace log4cxx::helpers;
  +
  +
  +#define APR_SUCCESS ((log4cxx_status_t) 0)
   
   
   
  
  
  
  1.4       +2 -2      logging-log4cxx/tests/src/helpers/charsetencodertestcase.cpp
  
  Index: charsetencodertestcase.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/src/helpers/charsetencodertestcase.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- charsetencodertestcase.cpp	2 Jun 2005 03:46:23 -0000	1.3
  +++ charsetencodertestcase.cpp	13 Jun 2005 22:00:05 -0000	1.4
  @@ -22,8 +22,8 @@
   #include <log4cxx/helpers/bytebuffer.h>
   
   using namespace log4cxx;
  -using namespace log4cxx::helpers;
  -
  +using namespace log4cxx::helpers;
  +
   #define APR_SUCCESS ((log4cxx_status_t) 0)
   
   
  
  
  
  1.7       +1 -1      logging-log4cxx/tests/src/helpers/iso8601dateformattestcase.cpp
  
  Index: iso8601dateformattestcase.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/src/helpers/iso8601dateformattestcase.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- iso8601dateformattestcase.cpp	2 Jun 2005 03:46:23 -0000	1.6
  +++ iso8601dateformattestcase.cpp	13 Jun 2005 22:00:05 -0000	1.7
  @@ -18,7 +18,7 @@
   #include <cppunit/extensions/HelperMacros.h>
   #include <locale>
   #include "../insertwide.h"
  -#include <log4cxx/helpers/pool.h>
  +#include <log4cxx/helpers/pool.h>
   #include <log4cxx/helpers/date.h>
   
   
  
  
  
  1.10      +1 -1      logging-log4cxx/tests/src/helpers/relativetimedateformattestcase.cpp
  
  Index: relativetimedateformattestcase.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/src/helpers/relativetimedateformattestcase.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- relativetimedateformattestcase.cpp	2 Jun 2005 03:46:23 -0000	1.9
  +++ relativetimedateformattestcase.cpp	13 Jun 2005 22:00:05 -0000	1.10
  @@ -20,7 +20,7 @@
   #include <cppunit/extensions/HelperMacros.h>
   #include <log4cxx/helpers/pool.h>
   #include <log4cxx/helpers/stringhelper.h>
  -#include "../insertwide.h"
  +#include "../insertwide.h"
   #include <log4cxx/helpers/date.h>
   
   
  
  
  
  1.10      +1 -1      logging-log4cxx/tests/src/helpers/timezonetestcase.cpp
  
  Index: timezonetestcase.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/src/helpers/timezonetestcase.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- timezonetestcase.cpp	2 Jun 2005 03:46:23 -0000	1.9
  +++ timezonetestcase.cpp	13 Jun 2005 22:00:05 -0000	1.10
  @@ -17,7 +17,7 @@
   #include <log4cxx/helpers/timezone.h>
   #include <cppunit/extensions/HelperMacros.h>
   #include "../insertwide.h"
  -#include <apr_time.h>
  +#include <apr_time.h>
   
   using namespace log4cxx;
   using namespace log4cxx::helpers;
  
  
  
  1.6       +1 -1      logging-log4cxx/tests/src/net/smtpappendertestcase.cpp
  
  Index: smtpappendertestcase.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/src/net/smtpappendertestcase.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- smtpappendertestcase.cpp	2 Jun 2005 03:46:23 -0000	1.5
  +++ smtpappendertestcase.cpp	13 Jun 2005 22:00:05 -0000	1.6
  @@ -14,7 +14,7 @@
    * limitations under the License.
    */
   
  -#if LOG4CXX_HAVE_SMTP
  +#if LOG4CXX_HAVE_SMTP
   
   #include <cppunit/TestFixture.h>
   #include <cppunit/extensions/HelperMacros.h>
  
  
  
  1.8       +2 -2      logging-log4cxx/tests/src/nt/nteventlogappendertestcase.cpp
  
  Index: nteventlogappendertestcase.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/src/nt/nteventlogappendertestcase.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- nteventlogappendertestcase.cpp	2 Jun 2005 03:46:23 -0000	1.7
  +++ nteventlogappendertestcase.cpp	13 Jun 2005 22:00:05 -0000	1.8
  @@ -23,7 +23,7 @@
   #include <log4cxx/logger.h>
   #include <log4cxx/spi/loggingevent.h>
   #include <log4cxx/patternlayout.h>
  -#include "../insertwide.h"
  +#include "../insertwide.h"
   #include <log4cxx/helpers/date.h>
   
   using namespace log4cxx;
  @@ -66,7 +66,7 @@
              }
   
   
  -            Pool p;
  +            Pool p;
               Date now;
               DWORD expectedTime = now.getTime() / Date::getMicrosecondsPerSecond();
               {
  
  
  
  1.2       +2 -2      logging-log4cxx/tests/witness/rolling/tbr-test1.1
  
  Index: tbr-test1.1
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/witness/rolling/tbr-test1.1,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tbr-test1.1	1 Jun 2005 18:40:28 -0000	1.1
  +++ tbr-test1.1	13 Jun 2005 22:00:05 -0000	1.2
  @@ -1,2 +1,2 @@
  -TimeBasedRollingTest - Hello---0
  -TimeBasedRollingTest - Hello---1
  +TimeBasedRollingTest - Hello---0
  +TimeBasedRollingTest - Hello---1
  
  
  
  1.2       +2 -2      logging-log4cxx/tests/witness/rolling/tbr-test1.2
  
  Index: tbr-test1.2
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/witness/rolling/tbr-test1.2,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tbr-test1.2	1 Jun 2005 18:40:28 -0000	1.1
  +++ tbr-test1.2	13 Jun 2005 22:00:05 -0000	1.2
  @@ -1,2 +1,2 @@
  -TimeBasedRollingTest - Hello---2
  -TimeBasedRollingTest - Hello---3
  +TimeBasedRollingTest - Hello---2
  +TimeBasedRollingTest - Hello---3
  
  
  
  1.2       +1 -1      logging-log4cxx/tests/witness/rolling/tbr-test1.3
  
  Index: tbr-test1.3
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/witness/rolling/tbr-test1.3,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tbr-test1.3	1 Jun 2005 18:40:28 -0000	1.1
  +++ tbr-test1.3	13 Jun 2005 22:00:05 -0000	1.2
  @@ -1 +1 @@
  -TimeBasedRollingTest - Hello---4
  +TimeBasedRollingTest - Hello---4
  
  
  
  1.2       +2 -2      logging-log4cxx/tests/witness/rolling/tbr-test2.1
  
  Index: tbr-test2.1
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/witness/rolling/tbr-test2.1,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tbr-test2.1	1 Jun 2005 18:40:28 -0000	1.1
  +++ tbr-test2.1	13 Jun 2005 22:00:05 -0000	1.2
  @@ -1,2 +1,2 @@
  -TimeBasedRollingTest - Hello---0
  -TimeBasedRollingTest - Hello---1
  +TimeBasedRollingTest - Hello---0
  +TimeBasedRollingTest - Hello---1
  
  
  
  1.2       +2 -2      logging-log4cxx/tests/witness/rolling/tbr-test2.2
  
  Index: tbr-test2.2
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/witness/rolling/tbr-test2.2,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tbr-test2.2	1 Jun 2005 18:40:28 -0000	1.1
  +++ tbr-test2.2	13 Jun 2005 22:00:05 -0000	1.2
  @@ -1,2 +1,2 @@
  -TimeBasedRollingTest - Hello---2
  -TimeBasedRollingTest - Hello---3
  +TimeBasedRollingTest - Hello---2
  +TimeBasedRollingTest - Hello---3
  
  
  
  1.2       +1 -1      logging-log4cxx/tests/witness/rolling/tbr-test2.3
  
  Index: tbr-test2.3
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/witness/rolling/tbr-test2.3,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tbr-test2.3	1 Jun 2005 18:40:28 -0000	1.1
  +++ tbr-test2.3	13 Jun 2005 22:00:05 -0000	1.2
  @@ -1 +1 @@
  -TimeBasedRollingTest - Hello---4
  +TimeBasedRollingTest - Hello---4
  
  
  
  1.2       +1 -1      logging-log4cxx/tests/witness/rolling/tbr-test3.3
  
  Index: tbr-test3.3
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/witness/rolling/tbr-test3.3,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tbr-test3.3	1 Jun 2005 18:40:28 -0000	1.1
  +++ tbr-test3.3	13 Jun 2005 22:00:05 -0000	1.2
  @@ -1 +1 @@
  -TimeBasedRollingTest - Hello---4
  +TimeBasedRollingTest - Hello---4
  
  
  
  1.2       +2 -2      logging-log4cxx/tests/witness/rolling/tbr-test4.1
  
  Index: tbr-test4.1
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/witness/rolling/tbr-test4.1,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tbr-test4.1	1 Jun 2005 18:40:28 -0000	1.1
  +++ tbr-test4.1	13 Jun 2005 22:00:05 -0000	1.2
  @@ -1,2 +1,2 @@
  -TimeBasedRollingTest - Hello---0
  -TimeBasedRollingTest - Hello---1
  +TimeBasedRollingTest - Hello---0
  +TimeBasedRollingTest - Hello---1
  
  
  
  1.2       +2 -2      logging-log4cxx/tests/witness/rolling/tbr-test4.2
  
  Index: tbr-test4.2
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/witness/rolling/tbr-test4.2,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tbr-test4.2	1 Jun 2005 18:40:28 -0000	1.1
  +++ tbr-test4.2	13 Jun 2005 22:00:05 -0000	1.2
  @@ -1,2 +1,2 @@
  -TimeBasedRollingTest - Hello---2
  -TimeBasedRollingTest - Hello---3
  +TimeBasedRollingTest - Hello---2
  +TimeBasedRollingTest - Hello---3
  
  
  
  1.2       +1 -1      logging-log4cxx/tests/witness/rolling/tbr-test4.3
  
  Index: tbr-test4.3
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/witness/rolling/tbr-test4.3,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tbr-test4.3	1 Jun 2005 18:40:28 -0000	1.1
  +++ tbr-test4.3	13 Jun 2005 22:00:05 -0000	1.2
  @@ -1 +1 @@
  -TimeBasedRollingTest - Hello---4
  +TimeBasedRollingTest - Hello---4
  
  
  
  1.2       +2 -2      logging-log4cxx/tests/witness/rolling/tbr-test5.1
  
  Index: tbr-test5.1
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/witness/rolling/tbr-test5.1,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tbr-test5.1	1 Jun 2005 18:40:28 -0000	1.1
  +++ tbr-test5.1	13 Jun 2005 22:00:05 -0000	1.2
  @@ -1,2 +1,2 @@
  -TimeBasedRollingTest - Hello---0
  -TimeBasedRollingTest - Hello---1
  +TimeBasedRollingTest - Hello---0
  +TimeBasedRollingTest - Hello---1
  
  
  
  1.2       +2 -2      logging-log4cxx/tests/witness/rolling/tbr-test5.2
  
  Index: tbr-test5.2
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/witness/rolling/tbr-test5.2,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tbr-test5.2	1 Jun 2005 18:40:28 -0000	1.1
  +++ tbr-test5.2	13 Jun 2005 22:00:05 -0000	1.2
  @@ -1,2 +1,2 @@
  -TimeBasedRollingTest - Hello---2
  -TimeBasedRollingTest - Hello---3
  +TimeBasedRollingTest - Hello---2
  +TimeBasedRollingTest - Hello---3
  
  
  
  1.2       +1 -1      logging-log4cxx/tests/witness/rolling/tbr-test5.3
  
  Index: tbr-test5.3
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/witness/rolling/tbr-test5.3,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tbr-test5.3	1 Jun 2005 18:40:28 -0000	1.1
  +++ tbr-test5.3	13 Jun 2005 22:00:05 -0000	1.2
  @@ -1 +1 @@
  -TimeBasedRollingTest - Hello---4
  +TimeBasedRollingTest - Hello---4
  
  
  
  1.2       +1 -1      logging-log4cxx/tests/witness/rolling/tbr-test6.3
  
  Index: tbr-test6.3
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/witness/rolling/tbr-test6.3,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tbr-test6.3	1 Jun 2005 18:40:28 -0000	1.1
  +++ tbr-test6.3	13 Jun 2005 22:00:05 -0000	1.2
  @@ -1 +1 @@
  -TimeBasedRollingTest - Hello---4
  +TimeBasedRollingTest - Hello---4