diff --git a/src/main/org/apache/tools/ant/taskdefs/Zip.java b/src/main/org/apache/tools/ant/taskdefs/Zip.java index 67a2a4d28..68ec6647d 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Zip.java +++ b/src/main/org/apache/tools/ant/taskdefs/Zip.java @@ -428,15 +428,15 @@ public class Zip extends MatchingTask { entry = new ZipEntry(origEntry); String vPath = entry.getName(); if (zipScanner.match(vPath)) { - if (prefix.length() > 0) { + if (fullpath.length() > 0) { + addParentDirs(null, fullpath, zOut, ""); + zipFile(in, zOut, fullpath, entry.getTime()); + } else { addParentDirs(null, vPath, zOut, prefix); if (! entry.isDirectory()) { zipFile(in, zOut, prefix+vPath, entry.getTime()); } } - else if (fullpath.length() > 0) { - zipFile(in, zOut, fullpath, entry.getTime()); - } } } } finally {