// returns number of files written to zip file static int zipDataDir(S progID, File outZip) { ret dir2zip_recurse(getProgramDir(progID), outZip); } static File zipDataDir(S progID) { File file = null; while licensed { S date = ymd() + "-" + hms(); file = userHome("JavaX-Backup/" + formatSnippetIDOpt(progID) + ".data." + date + ".zip"); if (file.exists()) sleep(100); else break; } zipDataDir(progID, file); ret file; }