Imported GNU Classpath 0.92

2006-08-14  Mark Wielaard  <mark@klomp.org>

       Imported GNU Classpath 0.92
       * HACKING: Add more importing hints. Update automake version
       requirement.

       * configure.ac (gconf-peer): New enable AC argument.
       Add --disable-gconf-peer and --enable-default-preferences-peer
       to classpath configure when gconf is disabled.
       * scripts/makemake.tcl: Set gnu/java/util/prefs/gconf and
       gnu/java/awt/dnd/peer/gtk to bc. Classify
       gnu/java/security/Configuration.java as generated source file.

       * gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java,
       gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java,
       gnu/java/lang/management/VMClassLoadingMXBeanImpl.java,
       gnu/java/lang/management/VMRuntimeMXBeanImpl.java,
       gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java,
       gnu/java/lang/management/VMThreadMXBeanImpl.java,
       gnu/java/lang/management/VMMemoryMXBeanImpl.java,
       gnu/java/lang/management/VMCompilationMXBeanImpl.java: New VM stub
       classes.
       * java/lang/management/VMManagementFactory.java: Likewise.
       * java/net/VMURLConnection.java: Likewise.
       * gnu/java/nio/VMChannel.java: Likewise.

       * java/lang/Thread.java (getState): Add stub implementation.
       * java/lang/Class.java (isEnum): Likewise.
       * java/lang/Class.h (isEnum): Likewise.

       * gnu/awt/xlib/XToolkit.java (getClasspathTextLayoutPeer): Removed.

       * javax/naming/spi/NamingManager.java: New override for StackWalker
       functionality.

       * configure, sources.am, Makefile.in, gcj/Makefile.in,
       include/Makefile.in, testsuite/Makefile.in: Regenerated.

From-SVN: r116139
This commit is contained in:
Mark Wielaard 2006-08-14 23:12:35 +00:00
parent abab460491
commit ac1ed908de
1294 changed files with 99479 additions and 35933 deletions

View file

@ -1,5 +1,5 @@
/* PlatformHelper.java -- Isolate OS-specific IO helper methods and variables
Copyright (C) 1998, 2002 Free Software Foundation, Inc.
Copyright (C) 1998, 2002, 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@ -96,98 +96,6 @@ public class PlatformHelper
return len > 0 && beginWithRootPathPrefix(path) == len;
}
/**
* This routine canonicalizes input param "path" to formal path representation
* for current platform, including interpreting ".." and "." .
*/
public static final String toCanonicalForm(String path)
{
/*??
if(path.indexOf('.') < 0 && path.indexOf("..") < 0)
return path;
*/
String tmppath = path.replace('/', separatorChar);
StringBuffer canonpath;
int i;
if ((i = beginWithRootPathPrefix(tmppath)) == 0 )
return path;
/* The original
"canonpath = new StringBuffer(tmppath.substring(0, i))"
isn't very efficient because StringBuffer's
ensureCapacity_unsynchronized will fail definitely each time
and will enlarge buffer and copy contents. .
*/
canonpath = new StringBuffer(INITIAL_MAX_PATH);
canonpath.append(tmppath.substring(0, i));
tmppath = tmppath.substring(i);
// pathdepth==0 indicates there're only root path in the buffer
int pathdepth = 0;
StringTokenizer st = new StringTokenizer(tmppath, separator);
// Traverse each element of the path, handling "." and ".."
// Should handle "~" too?
if (st.hasMoreTokens())
do
{
String s = st.nextToken();
// Handle "." or an empty element.
if (s.equals(".") || s.equals(""))
continue;
// Handle ".." by deleting the last element from the path
if (s.equals(".."))
{
if (pathdepth == 0)
continue;
// Strip of trailing separator
canonpath.setLength(canonpath.length() - 1/*separator.length()*/);
String tmpstr = canonpath.toString();
int idx = tmpstr.lastIndexOf(separator);
if ((idx == -1) || ((idx + 1/*separator.length()*/) > tmpstr.length()))
//throw new IOException("Can't happen error");
return path; // Shouldn't happen
canonpath.setLength(idx + 1/*separator.length()*/);
pathdepth--;
continue;
}
canonpath.append(s);
pathdepth++; //now it's more than root path
if (st.hasMoreTokens())
canonpath.append(separator);
}
while (st.hasMoreTokens());
if (endWithSeparator(path))
canonpath.append(separator);
String tmpstr = canonpath.toString();
//if (pathdepth > 0 && endWithSeparator(tmpstr) )
// tmpstr = tmpstr.substring(0, tmpstr.length() - 1/*separator.length()*/);
return tmpstr;
}
/**
* This routine canonicalizes input param "path" to formal path representation
* for current platform, and normalize all separators to "sepchar".
*/
public static final String toCanonicalForm(String path, char sepchar)
{
String tmpstr = toCanonicalForm(path);
tmpstr = tmpstr.replace(separatorChar, sepchar);
return tmpstr;
}
/**
* This routine checks whether input param "path" ends with separator
*/