Connection.java (unquote): New method.

2005-07-13  Andrew Haley  <aph@redhat.com>

        * gnu/java/net/protocol/file/Connection.java (unquote): New
        method.
        (connect): Unquote filename.
        gnu/java/net/protocol/jar/Connection.java (getInputStream):
        Likewise.
        (getJarFile): Likewise.

        * java/net/URLConnection.java (getContentHandler): Guard cast with
        instaceof.

        * java/net/URL.java (URL): If the file part of a spec is absolute,
        ignore the file part of its context.

From-SVN: r102029
This commit is contained in:
Andrew Haley
2005-07-14 18:20:10 +00:00
committed by Andrew Haley
parent b11e14262e
commit 3fefd0193c
5 changed files with 91 additions and 17 deletions
@@ -151,7 +151,8 @@ public final class Connection extends JarURLConnection
if (jarfile != null)
{
// this is the easy way...
ZipEntry entry = jarfile.getEntry(getEntryName());
ZipEntry entry = jarfile.getEntry
(gnu.java.net.protocol.file.Connection.unquote(getEntryName()));
if (entry != null)
return jarfile.getInputStream (entry);
@@ -164,12 +165,14 @@ public final class Connection extends JarURLConnection
JarInputStream zis = new JarInputStream(
jarFileURLConnection.getInputStream ());
String entryName = gnu.java.net.protocol.file.Connection.unquote(getEntryName());
// This is hideous, we're doing a linear search...
for (ZipEntry entry = zis.getNextEntry();
entry != null;
entry = zis.getNextEntry())
{
if (getEntryName().equals(entry.getName()))
if (entryName.equals(entry.getName()))
{
int size = (int) entry.getSize();
byte[] data = new byte[size];
@@ -203,12 +206,14 @@ public final class Connection extends JarURLConnection
jar_file = (JarFile) file_cache.get (jarFileURL);
if (jar_file == null)
{
jar_file = new JarFile (jarFileURL.getFile());
jar_file = new JarFile
(gnu.java.net.protocol.file.Connection.unquote(jarFileURL.getFile()));
file_cache.put (jarFileURL, jar_file);
}
}
else
jar_file = new JarFile (jarFileURL.getFile());
jar_file = new JarFile
(gnu.java.net.protocol.file.Connection.unquote(jarFileURL.getFile()));
}
else
{