Warning: session_start(): open(/var/lib/php/sessions/sess_uqto57f2escpbsel1ht4arcenl, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
srecord noeq Zip2Zip(File inZip, ZipOutputStream outZip) {
IPred predicate;
File outFile;
bool ourOutputStream;
*(File *inZip, File *outFile) { ourOutputStream = true; }
*(File *inZip, ZipOutputStream *outZip, IPred *predicate) {}
run {
if (outFile != null && outZip == null) {
outZip = zipOutputStream(outFile);
set ourOutputStream;
}
temp ourOutputStream ? outZip : null;
temp ZipFile zipFile = new(inZip);
for (e : enumerationToIterator(zipFile.entries())) {
S name = e.getName();
print("Copying " + name);
ZipEntry e2 = new(name);
continue unless predicate == null || predicate.get(name);
e2.setSize(e.getSize());
outZip.putNextEntry(e2);
temp var in = zipFile.getInputStream(e);
copyFileContents(e.getName(), in, outZip);
}
}
swappable void copyFileContents(S fileName, InputStream in, OutputStream out) {
copyStream(in, out);
}
}