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);
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];
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
{