Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

Commit e5e5c1ef authored by Rob Swindell's avatar Rob Swindell 💬

Previous file support from the [R]emove and [D]ownload commands.

More support for moving backwards through file searches/listing types.
parent b1db60ec
Pipeline #2103 passed with stage
in 8 minutes and 4 seconds
......@@ -811,7 +811,9 @@ int sbbs_t::listfileinfo(uint dirnum, const char *filespec, long mode)
|| mode==FI_OFFLINE) {
SYNC;
// CRLF;
SAFECOPY(str, "VEQRNP\b-\r");
SAFECOPY(str, "VEQRN\r");
if(m > 1)
SAFECAT(str, "P-\b");
if(dir_op(dirnum)) {
mnemonics(text[SysopRemoveFilePrompt]);
SAFECAT(str,"FMC");
......@@ -1049,7 +1051,9 @@ int sbbs_t::listfileinfo(uint dirnum, const char *filespec, long mode)
xfer_prot_menu(XFER_DOWNLOAD);
SYNC;
mnemonics(text[ProtocolBatchQuitOrNext]);
sprintf(str,"B%cN\r",text[YNQP][2]);
SAFEPRINTF(str,"B%cN\r",text[YNQP][2]);
if(m > 1)
SAFECAT(str, "\b-");
for(i=0;i<cfg.total_prots;i++)
if(cfg.prot[i]->dlcmd[0]
&& chk_ar(cfg.prot[i]->ar,&useron,&client)) {
......@@ -1066,6 +1070,12 @@ int sbbs_t::listfileinfo(uint dirnum, const char *filespec, long mode)
break;
}
}
else if(ch == '\b' || ch == '-') { /* previous */
m--;
if(m)
m--;
continue;
}
else if(ch!=CR && ch!='N') {
for(i=0;i<cfg.total_prots;i++)
if(cfg.prot[i]->dlcmd[0] && cfg.prot[i]->mnemonic==ch
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment