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

Commits (3)
......@@ -281,14 +281,14 @@ int sbbs_t::exec_function(csi_t *csi)
if(!chksyspass())
return(0);
bputs(text[Filename]);
if(getstr(str,60,0))
if(getstr(str,60,K_TRIM))
printfile(str,0);
return(0);
case CS_EDIT_TEXT_FILE: /* Edit ASCII/Ctrl-A file */
if(!chksyspass())
return(0);
bputs(text[Filename]);
if(getstr(str,60,0))
if(getstr(str,60,K_TRIM))
editfile(str);
return(0);
case CS_GURU_LOG:
......
......@@ -1329,7 +1329,7 @@ int delmsgs(BOOL del)
int result;
smbmsg_t msg;
for(int i = 0; i < smb.status.total_msgs; i++) {
for(uint i = 0; i < smb.status.total_msgs; i++) {
ZERO_VAR(msg);
msg.idx_offset = i;
result = smb_getmsgidx(&smb, &msg);
......
......@@ -275,7 +275,7 @@ const char * const text_defaults[TOTAL_TEXT]={
,"\x01\x77\x01\x68\x53\x65\x61\x72\x63\x68\x69\x6e\x67\x20\x61\x6c\x6c\x20\x6c\x69\x62\x72\x61\x72\x69\x65\x73\x20\x40\x45\x4c\x4c"
"\x49\x50\x53\x49\x53\x40\x0d\x0a\x01\x71" // 167 SearchingAllLibs
,"\x0d\x0a\x01\x77\x01\x68\x25\x75\x20\x46\x69\x6c\x65\x73\x20\x4c\x69\x73\x74\x65\x64\x2e\x0d\x0a" // 168 NFilesListed
,"\x0d\x0a\x01\x77\x01\x68\x45\x6d\x70\x74\x79\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x2e\x0d\x0a" // 169 EmptyDir
,"\x01\x3f\x01\x77\x01\x68\x45\x6d\x70\x74\x79\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x2e\x0d\x0a" // 169 EmptyDir
,"\x01\x3f\x01\x63\x53\x65\x61\x72\x63\x68\x69\x6e\x67\x20\x66\x6f\x72\x20\x66\x69\x6c\x65\x73\x20\x75\x70\x6c\x6f\x61\x64\x65\x64"
"\x20\x61\x66\x74\x65\x72\x01\x5c\x20\x01\x68\x25\x73\x01\x6e\x0d\x0a" // 170 NScanHdr
,"\x01\x3f\x59\x6f\x75\x20\x63\x61\x6e\x27\x74\x20\x72\x65\x6d\x6f\x76\x65\x20\x66\x69\x6c\x65\x73\x2e\x0d\x0a" // 171 R_RemoveFiles
......@@ -329,7 +329,7 @@ const char * const text_defaults[TOTAL_TEXT]={
"\x6e\x6f\x74\x69\x66\x69\x65\x64\x2e\x01\x6e\x0d\x0a" // 200 LowDiskSpace
,"\x0d\x0a\x25\x73\x20\x6b\x69\x6c\x6f\x62\x79\x74\x65\x73\x20\x66\x72\x65\x65\x0d\x0a\x0d\x0a" // 201 DiskNBytesFree
,"\x01\x5f\x01\x79\x01\x68\x46\x69\x6c\x65\x6e\x61\x6d\x65\x3a\x20\x01\x6e" // 202 Filename
,"\x0d\x0a\x01\x72\x01\x68\x42\x61\x64\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x2e\x0d\x0a" // 203 BadFilename
,"\x01\x2f\x01\x72\x01\x68\x42\x61\x64\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x3a\x20\x27\x25\x73\x27\x0d\x0a" // 203 BadFilename
,"\x55\x70\x6c\x6f\x61\x64\x20\x27\x25\x73\x27\x20\x74\x6f\x20\x53\x79\x73\x6f\x70\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79" // 204 UploadToSysopDirQ
,"\x55\x70\x6c\x6f\x61\x64\x20\x27\x25\x73\x27\x20\x74\x6f\x20\x55\x73\x65\x72\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79" // 205 UploadToUserDirQ
,"\x55\x70\x6c\x6f\x61\x64\x20\x27\x25\x73\x27\x20\x74\x6f\x20\x25\x73\x01\x5c\x20\x25\x73" // 206 UploadToCurDirQ
......
......@@ -276,7 +276,7 @@ bool sbbs_t::upload(uint dirnum)
f.dir=curdirnum=dirnum;
bputs(text[Filename]);
if(getstr(fname, sizeof(fname) - 1, 0) < 1 || !checkfname(fname)) {
if(getstr(fname, sizeof(fname) - 1, K_TRIM) < 1 || !checkfname(fname)) {
if(fname[0])
bprintf(text[BadFilename], fname);
return(false);
......@@ -336,6 +336,10 @@ bool sbbs_t::upload(uint dirnum)
if(!dir_op(dirnum))
return(false); /* File is in database for another dir */
}
if(msgabort(true)) {
bputs(text[SearchedForDupes]);
return false;
}
}
}
bputs(text[SearchedForDupes]);
......