2003/09/23 21:16:10
[org.ibex.core.git] / src / org / xwt / Res.java
index 3f70589..20858e6 100644 (file)
@@ -94,10 +94,11 @@ public abstract class Res extends JS {
         private Res parent;
         Zip(Res parent) { this.parent = parent; }
         public InputStream getInputStream(String path) throws IOException {
+            if (path.startsWith("/")) path = path.substring(1);
             ZipInputStream zis = new ZipInputStream(parent.getInputStream());
             ZipEntry ze = zis.getNextEntry();
             while(ze != null && !ze.getName().equals(path)) ze = zis.getNextEntry();
-            if (ze == null) throw new JS.Exn("zip file not found in archive");
+            if (ze == null) throw new JS.Exn("requested file not found in archive");
             return zis;
         }
     }
@@ -108,7 +109,7 @@ public abstract class Res extends JS {
         Object key;
         Ref(Res parent, Object key) { this.parent = parent; this.key = key; }
         public Res addExtension(String extension) {
-            return (key instanceof String && ((String)key).endsWith(extension)) ? this : new Ref(this, extension);
+            return (key instanceof String && ((String)key).endsWith(extension)) ? this : new Ref(parent, key + extension);
         }
         public InputStream getInputStream(String path) throws IOException {
             return parent.getInputStream("/" + key + path);