X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Futil%2Ffreenet%2Ffcp2%2FClientPutComplexDir.java;h=be61b81028e4e8808ed5fb5a53d598435777fcb4;hb=4aa8626a4290644be70b2fe35de7c9d392d4574f;hp=7b9115dc4b39081ee13b132b5c3a01ca29c453a2;hpb=cc75b8a793bf949dce030e61eb071fde1a5ffe2e;p=jSite.git diff --git a/src/de/todesbaum/util/freenet/fcp2/ClientPutComplexDir.java b/src/de/todesbaum/util/freenet/fcp2/ClientPutComplexDir.java index 7b9115d..be61b81 100644 --- a/src/de/todesbaum/util/freenet/fcp2/ClientPutComplexDir.java +++ b/src/de/todesbaum/util/freenet/fcp2/ClientPutComplexDir.java @@ -38,7 +38,7 @@ import de.todesbaum.util.io.Closer; * @author David Roden <droden@gmail.com> * @version $Id$ */ -public class ClientPutComplexDir extends ClientPutDir { +public class ClientPutComplexDir extends ClientPutDir { /** The file entries of this directory. */ private List fileEntries = new ArrayList(); @@ -90,8 +90,10 @@ public class ClientPutComplexDir extends ClientPutDir { * * @param fileEntry * The file entry to add to the directory + * @throws IOException + * if an I/O error occurs when creating the payload stream */ - public void addFileEntry(FileEntry fileEntry) { + public void addFileEntry(FileEntry fileEntry) throws IOException { if (fileEntry instanceof DirectFileEntry) { if (payloadFile == null) { try { @@ -114,7 +116,8 @@ public class ClientPutComplexDir extends ClientPutDir { payloadOutputStream.flush(); fileEntries.add(fileEntry); } catch (IOException ioe1) { - /* hmm, ignore? */ + payloadFile.delete(); + throw ioe1; } finally { Closer.close(payloadOutputStream); Closer.close(payloadInputStream);