Added support for tar compressed files

This commit is contained in:
Michiel Broek 2003-10-31 20:53:06 +00:00
parent c9ec69d271
commit dc5782207d
3 changed files with 329 additions and 309 deletions

View File

@ -6,6 +6,16 @@ v0.39.1 22-Oct-2003
general: general:
Make dist now creates bzip2 archives. Make dist now creates bzip2 archives.
upgrade:
If you don't have any personal archivers, then remove
~/etc/archiver.data and start mbsetup to recreate the
archivers setup.
mbsetup:
In node editor, fixed error message when there was no more
room for new nodes to point to the right menus.
Added support for tar compressed archives.
v0.39.0 09-Oct-2003 - 22-Oct-2003 v0.39.0 09-Oct-2003 - 22-Oct-2003

View File

@ -4,7 +4,7 @@
* Purpose ...............: Setup Archive structure. * Purpose ...............: Setup Archive structure.
* *
***************************************************************************** *****************************************************************************
* Copyright (C) 1997-2002 * Copyright (C) 1997-2003
* *
* Michiel Broek FIDO: 2:280/2802 * Michiel Broek FIDO: 2:280/2802
* Beekmansbos 10 * Beekmansbos 10
@ -54,326 +54,336 @@ int ArchUpdated = 0;
*/ */
int CountArchive(void) int CountArchive(void)
{ {
FILE *fil; FILE *fil;
char ffile[PATH_MAX]; char ffile[PATH_MAX];
int count; int count;
sprintf(ffile, "%s/etc/archiver.data", getenv("MBSE_ROOT")); sprintf(ffile, "%s/etc/archiver.data", getenv("MBSE_ROOT"));
if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "r")) == NULL) {
if ((fil = fopen(ffile, "a+")) != NULL) { if ((fil = fopen(ffile, "a+")) != NULL) {
Syslog('+', "Created new %s", ffile); Syslog('+', "Created new %s", ffile);
archiverhdr.hdrsize = sizeof(archiverhdr); archiverhdr.hdrsize = sizeof(archiverhdr);
archiverhdr.recsize = sizeof(archiver); archiverhdr.recsize = sizeof(archiver);
fwrite(&archiverhdr, sizeof(archiverhdr), 1, fil); fwrite(&archiverhdr, sizeof(archiverhdr), 1, fil);
/* /*
* Create default records. Archivers found during configure * Create default records. Archivers found during configure
* and installing this software are automatic enabled with the * and installing this software are automatic enabled with the
* right paths. Others are meant as examples. * right paths. Others are meant as examples.
*/ */
memset(&archiver, 0, sizeof(archiver)); memset(&archiver, 0, sizeof(archiver));
if (strlen(_PATH_ARC) && strlen(_PATH_NOMARCH)) if (strlen(_PATH_ARC) && strlen(_PATH_NOMARCH))
sprintf(archiver.comment, "ARC and NOMARCH"); sprintf(archiver.comment, "ARC and NOMARCH");
else else
sprintf(archiver.comment, "ARC Version 5.21"); sprintf(archiver.comment, "ARC Version 5.21");
sprintf(archiver.name, "ARC"); sprintf(archiver.name, "ARC");
archiver.available = FALSE; archiver.available = FALSE;
if (strlen(_PATH_ARC)) { if (strlen(_PATH_ARC)) {
archiver.available = TRUE; archiver.available = TRUE;
sprintf(archiver.marc, "%s anw", _PATH_ARC); sprintf(archiver.marc, "%s anw", _PATH_ARC);
sprintf(archiver.tarc, "%s tnw", _PATH_ARC); sprintf(archiver.tarc, "%s tnw", _PATH_ARC);
sprintf(archiver.varc, "%s l", _PATH_ARC); sprintf(archiver.varc, "%s l", _PATH_ARC);
sprintf(archiver.funarc, "%s xnw", _PATH_ARC); sprintf(archiver.funarc, "%s xnw", _PATH_ARC);
sprintf(archiver.munarc, "%s enw", _PATH_ARC); sprintf(archiver.munarc, "%s enw", _PATH_ARC);
sprintf(archiver.iunarc, "%s enw", _PATH_ARC); sprintf(archiver.iunarc, "%s enw", _PATH_ARC);
} else { } else {
sprintf(archiver.marc, "/usr/bin/arc anw"); sprintf(archiver.marc, "/usr/bin/arc anw");
sprintf(archiver.tarc, "/usr/bin/arc tnw"); sprintf(archiver.tarc, "/usr/bin/arc tnw");
sprintf(archiver.varc, "/usr/bin/arc l"); sprintf(archiver.varc, "/usr/bin/arc l");
sprintf(archiver.funarc, "/usr/bin/arc xnw"); sprintf(archiver.funarc, "/usr/bin/arc xnw");
sprintf(archiver.munarc, "/usr/bin/arc enw"); sprintf(archiver.munarc, "/usr/bin/arc enw");
sprintf(archiver.iunarc, "/usr/bin/arc enw"); sprintf(archiver.iunarc, "/usr/bin/arc enw");
} }
/* /*
* Override arc when nomarch is available * Override arc when nomarch is available
*/ */
if (strlen(_PATH_NOMARCH)) { if (strlen(_PATH_NOMARCH)) {
sprintf(archiver.funarc, "%s -U", _PATH_NOMARCH); sprintf(archiver.funarc, "%s -U", _PATH_NOMARCH);
sprintf(archiver.munarc, "%s", _PATH_NOMARCH); sprintf(archiver.munarc, "%s", _PATH_NOMARCH);
sprintf(archiver.iunarc, "%s", _PATH_NOMARCH); sprintf(archiver.iunarc, "%s", _PATH_NOMARCH);
sprintf(archiver.varc, "%s -l", _PATH_NOMARCH); sprintf(archiver.varc, "%s -l", _PATH_NOMARCH);
} }
fwrite(&archiver, sizeof(archiver), 1, fil); fwrite(&archiver, sizeof(archiver), 1, fil);
memset(&archiver, 0, sizeof(archiver)); memset(&archiver, 0, sizeof(archiver));
sprintf(archiver.comment, "LHarc"); sprintf(archiver.comment, "LHarc");
sprintf(archiver.name, "LHA"); sprintf(archiver.name, "LHA");
if (strlen(_PATH_LHA)) { if (strlen(_PATH_LHA)) {
archiver.available = TRUE; archiver.available = TRUE;
sprintf(archiver.marc, "%s aq", _PATH_LHA); sprintf(archiver.marc, "%s aq", _PATH_LHA);
sprintf(archiver.tarc, "%s tq", _PATH_LHA); sprintf(archiver.tarc, "%s tq", _PATH_LHA);
sprintf(archiver.varc, "%s l", _PATH_LHA); sprintf(archiver.varc, "%s l", _PATH_LHA);
sprintf(archiver.funarc, "%s xqf", _PATH_LHA); sprintf(archiver.funarc, "%s xqf", _PATH_LHA);
sprintf(archiver.munarc, "%s eqf", _PATH_LHA); sprintf(archiver.munarc, "%s eqf", _PATH_LHA);
sprintf(archiver.iunarc, "%s eqf", _PATH_LHA); sprintf(archiver.iunarc, "%s eqf", _PATH_LHA);
} else { } else {
archiver.available = FALSE; archiver.available = FALSE;
sprintf(archiver.marc, "/usr/bin/lha aq"); sprintf(archiver.marc, "/usr/bin/lha aq");
sprintf(archiver.tarc, "/usr/bin/lha tq"); sprintf(archiver.tarc, "/usr/bin/lha tq");
sprintf(archiver.varc, "/usr/bin/lha l"); sprintf(archiver.varc, "/usr/bin/lha l");
sprintf(archiver.funarc, "/usr/bin/lha xqf"); sprintf(archiver.funarc, "/usr/bin/lha xqf");
sprintf(archiver.munarc, "/usr/bin/lha eqf"); sprintf(archiver.munarc, "/usr/bin/lha eqf");
sprintf(archiver.iunarc, "/usr/bin/lha eqf"); sprintf(archiver.iunarc, "/usr/bin/lha eqf");
} }
fwrite(&archiver, sizeof(archiver), 1, fil); fwrite(&archiver, sizeof(archiver), 1, fil);
memset(&archiver, 0, sizeof(archiver)); memset(&archiver, 0, sizeof(archiver));
sprintf(archiver.comment, "RAR by Eugene Roshal"); sprintf(archiver.comment, "RAR by Eugene Roshal");
sprintf(archiver.name, "RAR"); sprintf(archiver.name, "RAR");
if (strlen(_PATH_RAR)) { if (strlen(_PATH_RAR)) {
archiver.available = TRUE; archiver.available = TRUE;
sprintf(archiver.farc, "%s a -y -r", _PATH_RAR); sprintf(archiver.farc, "%s a -y -r", _PATH_RAR);
sprintf(archiver.marc, "%s a -y", _PATH_RAR); sprintf(archiver.marc, "%s a -y", _PATH_RAR);
sprintf(archiver.barc, "%s c -y", _PATH_RAR); sprintf(archiver.barc, "%s c -y", _PATH_RAR);
sprintf(archiver.tarc, "%s t -y", _PATH_RAR); sprintf(archiver.tarc, "%s t -y", _PATH_RAR);
sprintf(archiver.varc, "%s l", _PATH_RAR); sprintf(archiver.varc, "%s l", _PATH_RAR);
sprintf(archiver.funarc, "%s x -o+ -y -r", _PATH_RAR); sprintf(archiver.funarc, "%s x -o+ -y -r", _PATH_RAR);
sprintf(archiver.munarc, "%s e -o+ -y", _PATH_RAR); sprintf(archiver.munarc, "%s e -o+ -y", _PATH_RAR);
sprintf(archiver.iunarc, "%s e", _PATH_RAR); sprintf(archiver.iunarc, "%s e", _PATH_RAR);
} else if (strlen(_PATH_UNRAR)) { } else if (strlen(_PATH_UNRAR)) {
archiver.available = TRUE; archiver.available = TRUE;
sprintf(archiver.funarc, "%s x -o+ -y -r", _PATH_UNRAR); sprintf(archiver.funarc, "%s x -o+ -y -r", _PATH_UNRAR);
sprintf(archiver.munarc, "%s e -o+ -y", _PATH_UNRAR); sprintf(archiver.munarc, "%s e -o+ -y", _PATH_UNRAR);
sprintf(archiver.iunarc, "%s e", _PATH_UNRAR); sprintf(archiver.iunarc, "%s e", _PATH_UNRAR);
sprintf(archiver.varc, "%s l", _PATH_UNRAR); sprintf(archiver.varc, "%s l", _PATH_UNRAR);
} else { } else {
archiver.available = FALSE; archiver.available = FALSE;
sprintf(archiver.farc, "/usr/bin/rar a -y -r"); sprintf(archiver.farc, "/usr/bin/rar a -y -r");
sprintf(archiver.marc, "/usr/bin/rar a -y"); sprintf(archiver.marc, "/usr/bin/rar a -y");
sprintf(archiver.barc, "/usr/bin/rar c -y"); sprintf(archiver.barc, "/usr/bin/rar c -y");
sprintf(archiver.tarc, "/usr/bin/rar t -y"); sprintf(archiver.tarc, "/usr/bin/rar t -y");
sprintf(archiver.varc, "/usr/bin/rar l"); sprintf(archiver.varc, "/usr/bin/rar l");
sprintf(archiver.funarc, "/usr/bin/unrar x -o+ -y -r"); sprintf(archiver.funarc, "/usr/bin/unrar x -o+ -y -r");
sprintf(archiver.munarc, "/usr/bin/unrar e -o+ -y"); sprintf(archiver.munarc, "/usr/bin/unrar e -o+ -y");
sprintf(archiver.iunarc, "/usr/bin/unrar e"); sprintf(archiver.iunarc, "/usr/bin/unrar e");
} }
fwrite(&archiver, sizeof(archiver), 1, fil); fwrite(&archiver, sizeof(archiver), 1, fil);
memset(&archiver, 0, sizeof(archiver)); memset(&archiver, 0, sizeof(archiver));
sprintf(archiver.comment, "TAR gzip files"); sprintf(archiver.comment, "TAR gzip files");
sprintf(archiver.name, "GZIP"); sprintf(archiver.name, "GZIP");
if (strlen(_PATH_TAR)) { if (strlen(_PATH_TAR)) {
archiver.available = TRUE; archiver.available = TRUE;
sprintf(archiver.farc, "%s cfz", _PATH_TAR); sprintf(archiver.farc, "%s cfz", _PATH_TAR);
sprintf(archiver.marc, "%s Afz", _PATH_TAR); sprintf(archiver.marc, "%s Afz", _PATH_TAR);
sprintf(archiver.tarc, "%s tfz", _PATH_TAR); sprintf(archiver.tarc, "%s tfz", _PATH_TAR);
sprintf(archiver.varc, "%s tfz", _PATH_TAR); sprintf(archiver.varc, "%s tfz", _PATH_TAR);
sprintf(archiver.funarc, "%s xfz", _PATH_TAR); sprintf(archiver.funarc, "%s xfz", _PATH_TAR);
sprintf(archiver.munarc, "%s xfz", _PATH_TAR); sprintf(archiver.munarc, "%s xfz", _PATH_TAR);
sprintf(archiver.iunarc, "%s xfz", _PATH_TAR); sprintf(archiver.iunarc, "%s xfz", _PATH_TAR);
} else { } else {
archiver.available = FALSE; archiver.available = FALSE;
sprintf(archiver.farc, "/bin/tar cfz"); sprintf(archiver.farc, "/bin/tar cfz");
sprintf(archiver.marc, "/bin/tar Afz"); sprintf(archiver.marc, "/bin/tar Afz");
sprintf(archiver.tarc, "/bin/tar tfz"); sprintf(archiver.tarc, "/bin/tar tfz");
sprintf(archiver.varc, "/bin/tar tfz"); sprintf(archiver.varc, "/bin/tar tfz");
sprintf(archiver.funarc, "/bin/tar xfz"); sprintf(archiver.funarc, "/bin/tar xfz");
sprintf(archiver.munarc, "/bin/tar xfz"); sprintf(archiver.munarc, "/bin/tar xfz");
sprintf(archiver.iunarc, "/bin/tar xfz"); sprintf(archiver.iunarc, "/bin/tar xfz");
} }
fwrite(&archiver, sizeof(archiver), 1, fil); fwrite(&archiver, sizeof(archiver), 1, fil);
sprintf(archiver.comment, "TAR compressed files");
sprintf(archiver.name, "CMP");
if (strlen(_PATH_TAR)) {
sprintf(archiver.farc, "%s cfZ", _PATH_TAR);
sprintf(archiver.marc, "%s AfZ", _PATH_TAR);
} else {
sprintf(archiver.farc, "/bin/tar cfZ");
sprintf(archiver.marc, "/bin/tar AfZ");
}
fwrite(&archiver, sizeof(archiver), 1, fil);
memset(&archiver, 0, sizeof(archiver)); memset(&archiver, 0, sizeof(archiver));
sprintf(archiver.comment, "TAR bzip2 files"); sprintf(archiver.comment, "TAR bzip2 files");
sprintf(archiver.name, "BZIP"); sprintf(archiver.name, "BZIP");
if (strlen(_PATH_TAR)) { if (strlen(_PATH_TAR)) {
archiver.available = TRUE; archiver.available = TRUE;
sprintf(archiver.farc, "%s cfj", _PATH_TAR); sprintf(archiver.farc, "%s cfj", _PATH_TAR);
sprintf(archiver.marc, "%s Afj", _PATH_TAR); sprintf(archiver.marc, "%s Afj", _PATH_TAR);
sprintf(archiver.tarc, "%s tfj", _PATH_TAR); sprintf(archiver.tarc, "%s tfj", _PATH_TAR);
sprintf(archiver.varc, "%s tfj", _PATH_TAR); sprintf(archiver.varc, "%s tfj", _PATH_TAR);
sprintf(archiver.funarc, "%s xfj", _PATH_TAR); sprintf(archiver.funarc, "%s xfj", _PATH_TAR);
sprintf(archiver.munarc, "%s xfj", _PATH_TAR); sprintf(archiver.munarc, "%s xfj", _PATH_TAR);
sprintf(archiver.iunarc, "%s xfj", _PATH_TAR); sprintf(archiver.iunarc, "%s xfj", _PATH_TAR);
} else { } else {
archiver.available = FALSE; archiver.available = FALSE;
sprintf(archiver.farc, "/bin/tar cfj"); sprintf(archiver.farc, "/bin/tar cfj");
sprintf(archiver.marc, "/bin/tar Afj"); sprintf(archiver.marc, "/bin/tar Afj");
sprintf(archiver.tarc, "/bin/tar tfj"); sprintf(archiver.tarc, "/bin/tar tfj");
sprintf(archiver.varc, "/bin/tar tfj"); sprintf(archiver.varc, "/bin/tar tfj");
sprintf(archiver.funarc, "/bin/tar xfj"); sprintf(archiver.funarc, "/bin/tar xfj");
sprintf(archiver.munarc, "/bin/tar xfj"); sprintf(archiver.munarc, "/bin/tar xfj");
sprintf(archiver.iunarc, "/bin/tar xfj"); sprintf(archiver.iunarc, "/bin/tar xfj");
} }
fwrite(&archiver, sizeof(archiver), 1, fil); fwrite(&archiver, sizeof(archiver), 1, fil);
memset(&archiver, 0, sizeof(archiver)); memset(&archiver, 0, sizeof(archiver));
sprintf(archiver.comment, "TAR files"); sprintf(archiver.comment, "TAR files");
sprintf(archiver.name, "TAR"); sprintf(archiver.name, "TAR");
if (strlen(_PATH_TAR)) { if (strlen(_PATH_TAR)) {
archiver.available = TRUE; archiver.available = TRUE;
sprintf(archiver.farc, "%s cf", _PATH_TAR); sprintf(archiver.farc, "%s cf", _PATH_TAR);
sprintf(archiver.marc, "%s Af", _PATH_TAR); sprintf(archiver.marc, "%s Af", _PATH_TAR);
sprintf(archiver.tarc, "%s tf", _PATH_TAR); sprintf(archiver.tarc, "%s tf", _PATH_TAR);
sprintf(archiver.varc, "%s tf", _PATH_TAR); sprintf(archiver.varc, "%s tf", _PATH_TAR);
sprintf(archiver.funarc, "%s xf", _PATH_TAR); sprintf(archiver.funarc, "%s xf", _PATH_TAR);
sprintf(archiver.munarc, "%s xf", _PATH_TAR); sprintf(archiver.munarc, "%s xf", _PATH_TAR);
sprintf(archiver.iunarc, "%s xf", _PATH_TAR); sprintf(archiver.iunarc, "%s xf", _PATH_TAR);
} else { } else {
archiver.available = FALSE; archiver.available = FALSE;
sprintf(archiver.farc, "/bin/tar cf"); sprintf(archiver.farc, "/bin/tar cf");
sprintf(archiver.marc, "/bin/tar Af"); sprintf(archiver.marc, "/bin/tar Af");
sprintf(archiver.tarc, "/bin/tar tf"); sprintf(archiver.tarc, "/bin/tar tf");
sprintf(archiver.varc, "/bin/tar tf"); sprintf(archiver.varc, "/bin/tar tf");
sprintf(archiver.funarc, "/bin/tar xf"); sprintf(archiver.funarc, "/bin/tar xf");
sprintf(archiver.munarc, "/bin/tar xf"); sprintf(archiver.munarc, "/bin/tar xf");
sprintf(archiver.iunarc, "/bin/tar xf"); sprintf(archiver.iunarc, "/bin/tar xf");
} }
fwrite(&archiver, sizeof(archiver), 1, fil); fwrite(&archiver, sizeof(archiver), 1, fil);
memset(&archiver, 0, sizeof(archiver)); memset(&archiver, 0, sizeof(archiver));
sprintf(archiver.comment, "UNARJ by Robert K Jung"); sprintf(archiver.comment, "UNARJ by Robert K Jung");
sprintf(archiver.name, "ARJ"); sprintf(archiver.name, "ARJ");
/* /*
* Even if it is found, we won't enable unarj if the * Even if it is found, we won't enable unarj if the
* Russion arj is found since that is more complete. * Russion arj is found since that is more complete.
*/ */
if (strlen(_PATH_UNARJ) && (! strlen(_PATH_ARJ))) if (strlen(_PATH_UNARJ) && (! strlen(_PATH_ARJ)))
archiver.available = TRUE; archiver.available = TRUE;
else else
archiver.available = FALSE; archiver.available = FALSE;
if (strlen(_PATH_UNARJ)) { if (strlen(_PATH_UNARJ)) {
sprintf(archiver.tarc, "%s t", _PATH_UNARJ); sprintf(archiver.tarc, "%s t", _PATH_UNARJ);
sprintf(archiver.varc, "%s l", _PATH_UNARJ); sprintf(archiver.varc, "%s l", _PATH_UNARJ);
sprintf(archiver.funarc, "%s x", _PATH_UNARJ); sprintf(archiver.funarc, "%s x", _PATH_UNARJ);
sprintf(archiver.munarc, "%s e", _PATH_UNARJ); sprintf(archiver.munarc, "%s e", _PATH_UNARJ);
sprintf(archiver.iunarc, "%s e", _PATH_UNARJ); sprintf(archiver.iunarc, "%s e", _PATH_UNARJ);
} else { } else {
sprintf(archiver.tarc, "/usr/bin/unarj t"); sprintf(archiver.tarc, "/usr/bin/unarj t");
sprintf(archiver.varc, "/usr/bin/unarj l"); sprintf(archiver.varc, "/usr/bin/unarj l");
sprintf(archiver.funarc, "/usr/bin/unarj x"); sprintf(archiver.funarc, "/usr/bin/unarj x");
sprintf(archiver.munarc, "/usr/bin/unarj e"); sprintf(archiver.munarc, "/usr/bin/unarj e");
sprintf(archiver.iunarc, "/usr/bin/unarj e"); sprintf(archiver.iunarc, "/usr/bin/unarj e");
} }
fwrite(&archiver, sizeof(archiver), 1, fil); fwrite(&archiver, sizeof(archiver), 1, fil);
memset(&archiver, 0, sizeof(archiver)); memset(&archiver, 0, sizeof(archiver));
sprintf(archiver.comment, "ARJ from ARJ Software Russia"); sprintf(archiver.comment, "ARJ from ARJ Software Russia");
sprintf(archiver.name, "ARJ"); sprintf(archiver.name, "ARJ");
if (strlen(_PATH_ARJ)) { if (strlen(_PATH_ARJ)) {
archiver.available = TRUE; archiver.available = TRUE;
sprintf(archiver.farc, "%s -2d -y -r a", _PATH_ARJ); sprintf(archiver.farc, "%s -2d -y -r a", _PATH_ARJ);
sprintf(archiver.marc, "%s -2d -y -e a", _PATH_ARJ); sprintf(archiver.marc, "%s -2d -y -e a", _PATH_ARJ);
sprintf(archiver.barc, "%s -2d -y c", _PATH_ARJ); sprintf(archiver.barc, "%s -2d -y c", _PATH_ARJ);
sprintf(archiver.tarc, "%s -y t", _PATH_ARJ); sprintf(archiver.tarc, "%s -y t", _PATH_ARJ);
sprintf(archiver.varc, "%s l", _PATH_ARJ); sprintf(archiver.varc, "%s l", _PATH_ARJ);
sprintf(archiver.funarc, "%s -y x", _PATH_ARJ); sprintf(archiver.funarc, "%s -y x", _PATH_ARJ);
sprintf(archiver.munarc, "%s -y e", _PATH_ARJ); sprintf(archiver.munarc, "%s -y e", _PATH_ARJ);
sprintf(archiver.iunarc, "%s -y e", _PATH_ARJ); sprintf(archiver.iunarc, "%s -y e", _PATH_ARJ);
} else { } else {
archiver.available = FALSE; archiver.available = FALSE;
sprintf(archiver.farc, "/usr/bin/arj -2d -y -r a"); sprintf(archiver.farc, "/usr/bin/arj -2d -y -r a");
sprintf(archiver.marc, "/usr/bin/arj -2d -y -e a"); sprintf(archiver.marc, "/usr/bin/arj -2d -y -e a");
sprintf(archiver.barc, "/usr/bin/arj -2d -y c"); sprintf(archiver.barc, "/usr/bin/arj -2d -y c");
sprintf(archiver.tarc, "/usr/bin/arj -y t"); sprintf(archiver.tarc, "/usr/bin/arj -y t");
sprintf(archiver.varc, "/usr/bin/arj l"); sprintf(archiver.varc, "/usr/bin/arj l");
sprintf(archiver.funarc, "/usr/bin/arj -y x"); sprintf(archiver.funarc, "/usr/bin/arj -y x");
sprintf(archiver.munarc, "/usr/bin/arj -y e"); sprintf(archiver.munarc, "/usr/bin/arj -y e");
sprintf(archiver.iunarc, "/usr/bin/arj -y e"); sprintf(archiver.iunarc, "/usr/bin/arj -y e");
} }
fwrite(&archiver, sizeof(archiver), 1, fil); fwrite(&archiver, sizeof(archiver), 1, fil);
memset(&archiver, 0, sizeof(archiver)); memset(&archiver, 0, sizeof(archiver));
sprintf(archiver.comment, "ZIP and UNZIP by Info-ZIP"); sprintf(archiver.comment, "ZIP and UNZIP by Info-ZIP");
sprintf(archiver.name, "ZIP"); sprintf(archiver.name, "ZIP");
if (strlen(_PATH_ZIP) && strlen(_PATH_UNZIP)) if (strlen(_PATH_ZIP) && strlen(_PATH_UNZIP))
archiver.available = TRUE; archiver.available = TRUE;
else else
archiver.available = FALSE; archiver.available = FALSE;
if (strlen(_PATH_ZIP)) { if (strlen(_PATH_ZIP)) {
sprintf(archiver.farc, "%s -r -q", _PATH_ZIP); sprintf(archiver.farc, "%s -r -q", _PATH_ZIP);
sprintf(archiver.marc, "%s -q", _PATH_ZIP); sprintf(archiver.marc, "%s -q", _PATH_ZIP);
sprintf(archiver.barc, "%s -z", _PATH_ZIP); sprintf(archiver.barc, "%s -z", _PATH_ZIP);
sprintf(archiver.tarc, "%s -T", _PATH_ZIP); sprintf(archiver.tarc, "%s -T", _PATH_ZIP);
} else { } else {
sprintf(archiver.farc, "/usr/bin/zip -r -q"); sprintf(archiver.farc, "/usr/bin/zip -r -q");
sprintf(archiver.marc, "/usr/bin/zip -q"); sprintf(archiver.marc, "/usr/bin/zip -q");
sprintf(archiver.barc, "/usr/bin/zip -z"); sprintf(archiver.barc, "/usr/bin/zip -z");
sprintf(archiver.tarc, "/usr/bin/zip -T"); sprintf(archiver.tarc, "/usr/bin/zip -T");
} }
if (strlen(_PATH_UNZIP)) { if (strlen(_PATH_UNZIP)) {
sprintf(archiver.funarc, "%s -o -q", _PATH_UNZIP); sprintf(archiver.funarc, "%s -o -q", _PATH_UNZIP);
sprintf(archiver.munarc, "%s -o -j -L", _PATH_UNZIP); sprintf(archiver.munarc, "%s -o -j -L", _PATH_UNZIP);
sprintf(archiver.iunarc, "%s -o -j", _PATH_UNZIP); sprintf(archiver.iunarc, "%s -o -j", _PATH_UNZIP);
sprintf(archiver.varc, "%s -l", _PATH_UNZIP); sprintf(archiver.varc, "%s -l", _PATH_UNZIP);
} else { } else {
sprintf(archiver.funarc, "/usr/bin/unzip -o -q"); sprintf(archiver.funarc, "/usr/bin/unzip -o -q");
sprintf(archiver.munarc, "/usr/bin/unzip -o -j -L"); sprintf(archiver.munarc, "/usr/bin/unzip -o -j -L");
sprintf(archiver.iunarc, "/usr/bin/unzip -o -j"); sprintf(archiver.iunarc, "/usr/bin/unzip -o -j");
sprintf(archiver.varc, "/usr/bin/unzip -l"); sprintf(archiver.varc, "/usr/bin/unzip -l");
} }
fwrite(&archiver, sizeof(archiver), 1, fil); fwrite(&archiver, sizeof(archiver), 1, fil);
memset(&archiver, 0, sizeof(archiver)); memset(&archiver, 0, sizeof(archiver));
sprintf(archiver.comment, "ZOO archiver"); sprintf(archiver.comment, "ZOO archiver");
sprintf(archiver.name, "ZOO"); sprintf(archiver.name, "ZOO");
if (strlen(_PATH_ZOO)) { if (strlen(_PATH_ZOO)) {
archiver.available = TRUE; archiver.available = TRUE;
sprintf(archiver.farc, "%s aq", _PATH_ZOO); sprintf(archiver.farc, "%s aq", _PATH_ZOO);
sprintf(archiver.marc, "%s aq:O", _PATH_ZOO); sprintf(archiver.marc, "%s aq:O", _PATH_ZOO);
sprintf(archiver.barc, "%s aqC", _PATH_ZOO); sprintf(archiver.barc, "%s aqC", _PATH_ZOO);
sprintf(archiver.varc, "%s -list", _PATH_ZOO); sprintf(archiver.varc, "%s -list", _PATH_ZOO);
sprintf(archiver.funarc, "%s xqO", _PATH_ZOO); sprintf(archiver.funarc, "%s xqO", _PATH_ZOO);
sprintf(archiver.munarc, "%s eq:O", _PATH_ZOO); sprintf(archiver.munarc, "%s eq:O", _PATH_ZOO);
sprintf(archiver.iunarc, "%s eqO", _PATH_ZOO); sprintf(archiver.iunarc, "%s eqO", _PATH_ZOO);
} else { } else {
archiver.available = FALSE; archiver.available = FALSE;
sprintf(archiver.farc, "/usr/bin/zoo aq"); sprintf(archiver.farc, "/usr/bin/zoo aq");
sprintf(archiver.marc, "/usr/bin/zoo aq:O"); sprintf(archiver.marc, "/usr/bin/zoo aq:O");
sprintf(archiver.barc, "/usr/bin/zoo aqC"); sprintf(archiver.barc, "/usr/bin/zoo aqC");
sprintf(archiver.varc, "/usr/bin/zoo -list"); sprintf(archiver.varc, "/usr/bin/zoo -list");
sprintf(archiver.funarc, "/usr/bin/zoo xqO"); sprintf(archiver.funarc, "/usr/bin/zoo xqO");
sprintf(archiver.munarc, "/usr/bin/zoo eq:O"); sprintf(archiver.munarc, "/usr/bin/zoo eq:O");
sprintf(archiver.iunarc, "/usr/bin/zoo eqO"); sprintf(archiver.iunarc, "/usr/bin/zoo eqO");
} }
fwrite(&archiver, sizeof(archiver), 1, fil); fwrite(&archiver, sizeof(archiver), 1, fil);
memset(&archiver, 0, sizeof(archiver)); memset(&archiver, 0, sizeof(archiver));
sprintf(archiver.comment, "HA Harri Hirvola"); sprintf(archiver.comment, "HA Harri Hirvola");
sprintf(archiver.name, "HA"); sprintf(archiver.name, "HA");
if (strlen(_PATH_HA)) { if (strlen(_PATH_HA)) {
archiver.available = TRUE; archiver.available = TRUE;
sprintf(archiver.farc, "%s a21rq", _PATH_HA); sprintf(archiver.farc, "%s a21rq", _PATH_HA);
sprintf(archiver.marc, "%s a21q", _PATH_HA); sprintf(archiver.marc, "%s a21q", _PATH_HA);
sprintf(archiver.tarc, "%s t", _PATH_HA); sprintf(archiver.tarc, "%s t", _PATH_HA);
sprintf(archiver.varc, "%s l", _PATH_HA); sprintf(archiver.varc, "%s l", _PATH_HA);
sprintf(archiver.funarc, "%s eyq", _PATH_HA); sprintf(archiver.funarc, "%s eyq", _PATH_HA);
sprintf(archiver.munarc, "%s eyq", _PATH_HA); sprintf(archiver.munarc, "%s eyq", _PATH_HA);
sprintf(archiver.iunarc, "%s eyq", _PATH_HA); sprintf(archiver.iunarc, "%s eyq", _PATH_HA);
} else { } else {
archiver.available = FALSE; archiver.available = FALSE;
sprintf(archiver.farc, "/usr/bin/ha a21rq"); sprintf(archiver.farc, "/usr/bin/ha a21rq");
sprintf(archiver.marc, "/usr/bin/ha a21q"); sprintf(archiver.marc, "/usr/bin/ha a21q");
sprintf(archiver.tarc, "/usr/bin/ha t"); sprintf(archiver.tarc, "/usr/bin/ha t");
sprintf(archiver.varc, "/usr/bin/ha l"); sprintf(archiver.varc, "/usr/bin/ha l");
sprintf(archiver.funarc, "/usr/bin/ha eyq"); sprintf(archiver.funarc, "/usr/bin/ha eyq");
sprintf(archiver.munarc, "/usr/bin/ha eyq"); sprintf(archiver.munarc, "/usr/bin/ha eyq");
sprintf(archiver.iunarc, "/usr/bin/ha eyq"); sprintf(archiver.iunarc, "/usr/bin/ha eyq");
} }
fwrite(&archiver, sizeof(archiver), 1, fil); fwrite(&archiver, sizeof(archiver), 1, fil);
fclose(fil); fclose(fil);
chmod(ffile, 0640); chmod(ffile, 0640);
return 11; return 12;
} else } else
return -1; return -1;
} }
fread(&archiverhdr, sizeof(archiverhdr), 1, fil); fread(&archiverhdr, sizeof(archiverhdr), 1, fil);
fseek(fil, 0, SEEK_END); fseek(fil, 0, SEEK_END);
count = (ftell(fil) - archiverhdr.hdrsize) / archiverhdr.recsize; count = (ftell(fil) - archiverhdr.hdrsize) / archiverhdr.recsize;
fclose(fil); fclose(fil);
return count; return count;
} }

View File

@ -1267,9 +1267,9 @@ void EditNodes(void)
working(0, 0, 0); working(0, 0, 0);
} else { } else {
if ((records + 1) > CFG.toss_systems) { if ((records + 1) > CFG.toss_systems) {
errmsg("Cannot add node, change global setting in menu 1.12.11"); errmsg("Cannot add node, change global setting in menu 1.11.11");
} else { } else {
errmsg("Cannot add node, change global setting in menu 1.11.4"); errmsg("Cannot add node, change global setting in menu 1.10.4");
} }
} }
} }