diff --git a/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java b/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java index 2eda795875746737af798b6122dc72ae833a0af4..21647cfb41ebcad1a65c890c3c1722f08a750680 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java +++ b/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java @@ -145,7 +145,19 @@ public class MetaInfo this.info_hash = calculateInfoHash(); } - public MetaInfo(MetaInfo old, String new_announce, List<List<String>> new_announce_list, String new_comment, String new_created_by) + /** + * Will not change infohash. + * Retains creation date of old MetaInfo if nonzero. + * + * @parm new_announce may be null + * @parm new_announce_list may be null + * @parm new_comment may be null + * @parm new_created_by may be null + * @parm new_url_list may be null + * @since 0.9.64 + */ + public MetaInfo(MetaInfo old, String new_announce, List<List<String>> new_announce_list, String new_comment, + String new_created_by, List<String> new_url_list) { this.announce = new_announce; this.info_hash = old.info_hash; @@ -162,8 +174,8 @@ public class MetaInfo this.announce_list = new_announce_list; this.comment = new_comment; this.created_by = new_created_by; - this.creation_date = old.creation_date; - this.url_list = old.url_list; + this.creation_date = old.creation_date > 0 ? old.creation_date : I2PAppContext.getGlobalContext().clock().now(); + this.url_list = new_url_list; this.infoMap = old.infoMap; this.infoBytesLength = old.infoBytesLength; } @@ -934,10 +946,7 @@ public class MetaInfo String an = announce != null ? announce : meta.getAnnounce(); String cm = comment != null ? comment : meta.getComment(); List<String> urls = url_list != null ? url_list : meta.getWebSeedURLs(); - // changes/adds creation date - MetaInfo meta2 = new MetaInfo(an, meta.getName(), null, meta.getFiles(), meta.getLengths(), - meta.getPieceLength(0), meta.getPieceHashes(), meta.getTotalLength(), meta.getPrivateTrackerStatus(), - meta.getAnnounceList(), cb, urls, cm); + MetaInfo meta2 = new MetaInfo(meta, an, meta.getAnnounceList(), cm, cb, urls); java.io.File from = new java.io.File(args[i]); java.io.File to = new java.io.File(args[i] + ".bak"); if (net.i2p.util.FileUtil.copy(from, to, true, false)) { diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index f8fc6e253cd4ea1e2d1f4aa430dda88dde279ffa..3492d9d42ecb7eff66f14a317c19e7286b9e3842 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -4886,7 +4886,7 @@ public class I2PSnarkServlet extends BasicServlet { newComment = null; if (newCreatedBy.equals("")) newCreatedBy = null; - MetaInfo newMeta = new MetaInfo(meta, thePrimary, newAnnList, newComment, newCreatedBy); + MetaInfo newMeta = new MetaInfo(meta, thePrimary, newAnnList, newComment, newCreatedBy, meta.getWebSeedURLs()); File f = new File(_manager.util().getTempDir(), "edit-" + _manager.util().getContext().random().nextLong() + ".torrent"); OutputStream out = null; try {