From: tromey Date: Fri, 30 Mar 2007 04:09:35 +0000 (+0000) Subject: libjava X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=337d8bc191742db06b76214d37c05d9147c771fe libjava PR libgcj/29869: * java/util/logging/LogManager.java (readConfiguration): Handle comma-separated 'handlers'. Don't try to add a non-existing handler. libgcj/classpath PR libgcj/29869: * gnu/java/util/jar/JarUtils.java (log): Commented out. (readSFManifest): Don't log. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123356 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 79ac5f4faec..318a4c2837c 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,10 @@ +2007-03-29 Tom Tromey + + PR libgcj/29869: + * java/util/logging/LogManager.java (readConfiguration): Handle + comma-separated 'handlers'. Don't try to add a non-existing + handler. + 2007-03-27 Tom Tromey * sources.am, Makefile.in: Rebuilt. diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog index caa611a55cd..3d3d23fe9d3 100644 --- a/libjava/classpath/ChangeLog +++ b/libjava/classpath/ChangeLog @@ -1,3 +1,9 @@ +2007-03-29 Tom Tromey + + PR libgcj/29869: + * gnu/java/util/jar/JarUtils.java (log): Commented out. + (readSFManifest): Don't log. + 2007-03-28 Casey Marshall * gnu/javax/net/ssl/provider/ClientHandshake.java (RSAGen.implRun): diff --git a/libjava/classpath/gnu/java/util/jar/JarUtils.java b/libjava/classpath/gnu/java/util/jar/JarUtils.java index c35daec55ef..9debf647b66 100644 --- a/libjava/classpath/gnu/java/util/jar/JarUtils.java +++ b/libjava/classpath/gnu/java/util/jar/JarUtils.java @@ -1,5 +1,5 @@ /* JarUtils.java -- Utility methods for reading/writing Manifest[-like] files - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -62,7 +62,10 @@ import java.util.logging.Logger; */ public abstract class JarUtils { - private static final Logger log = Logger.getLogger(JarUtils.class.getName()); + // We used to log here, but this causes problems during bootstrap, + // and it didn't seem worthwhile to preserve this. Still, this + // might be useful for debugging. + // private static final Logger log = Logger.getLogger(JarUtils.class.getName()); public static final String META_INF = "META-INF/"; public static final String DSA_SUFFIX = ".DSA"; public static final String SF_SUFFIX = ".SF"; @@ -112,9 +115,10 @@ public abstract class JarUtils { String version = expectHeader(version_header, br); attr.putValue(SIGNATURE_VERSION, version); - if (! DEFAULT_SF_VERSION.equals(version)) - log.warning("Unexpected version number: " + version - + ". Continue (but may fail later)"); + // This may cause problems during VM bootstrap. + // if (! DEFAULT_SF_VERSION.equals(version)) + // log.warning("Unexpected version number: " + version + // + ". Continue (but may fail later)"); } catch (IOException ioe) { diff --git a/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class b/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class index a1acf2525ee..b2c6b893eb0 100644 Binary files a/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class and b/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class differ diff --git a/libjava/classpath/lib/java/util/logging/LogManager$1.class b/libjava/classpath/lib/java/util/logging/LogManager$1.class index 927c28c7872..737e5e64398 100644 Binary files a/libjava/classpath/lib/java/util/logging/LogManager$1.class and b/libjava/classpath/lib/java/util/logging/LogManager$1.class differ diff --git a/libjava/classpath/lib/java/util/logging/LogManager.class b/libjava/classpath/lib/java/util/logging/LogManager.class index 92da8e3a249..2a4e0b0073a 100644 Binary files a/libjava/classpath/lib/java/util/logging/LogManager.class and b/libjava/classpath/lib/java/util/logging/LogManager.class differ diff --git a/libjava/java/util/logging/LogManager.java b/libjava/java/util/logging/LogManager.java index 1e0192e3f34..811310c709d 100644 --- a/libjava/java/util/logging/LogManager.java +++ b/libjava/java/util/logging/LogManager.java @@ -559,13 +559,21 @@ public class LogManager if ("handlers".equals(key)) { - StringTokenizer tokenizer = new StringTokenizer(value); + // In Java 5 and earlier this was specified to be + // whitespace-separated, but in reality it also accepted + // commas (tomcat relied on this), and in Java 6 the + // documentation was updated to fit the implementation. + StringTokenizer tokenizer = new StringTokenizer(value, + " \t\n\r\f,"); while (tokenizer.hasMoreTokens()) { String handlerName = tokenizer.nextToken(); Handler handler = (Handler) createInstance(handlerName, Handler.class, key); - Logger.root.addHandler(handler); + // Tomcat also relies on the implementation ignoring + // items in 'handlers' which are not class names. + if (handler != null) + Logger.root.addHandler(handler); } }