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
+2007-03-29 Tom Tromey <tromey@redhat.com>
+
+ 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 <tromey@redhat.com>
* sources.am, Makefile.in: Rebuilt.
+2007-03-29 Tom Tromey <tromey@redhat.com>
+
+ PR libgcj/29869:
+ * gnu/java/util/jar/JarUtils.java (log): Commented out.
+ (readSFManifest): Don't log.
+
2007-03-28 Casey Marshall <csm@gnu.org>
* gnu/javax/net/ssl/provider/ClientHandshake.java (RSAGen.implRun):
/* 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.
*/
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";
{
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)
{
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);
}
}