Allow incoming .TIC files with non 8.3 filenames to be processed automatically.

This commit is contained in:
Andrew Leary 2018-09-17 03:41:31 -04:00
parent 4a64d47976
commit fb9bdbe430
4 changed files with 20 additions and 8 deletions

View File

@ -1,3 +1,13 @@
v1.0.7.9 17-Sep-2018 - Andrew Leary
1. Removed the requirement that incoming .TIC files have
exactly 8 character filenames with the .TIC extension. This
will allow processing incoming .TICs from Mystic BBS without
manual intervention. Mystic does not comply with
FTS-5006.001, which specifies that .TIC files be named with
a DOS compatible 8 character filename, a dot, and the 3
character extension TIC.
v1.0.7.8 07-Sep-2018 - Andrew Leary v1.0.7.8 07-Sep-2018 - Andrew Leary
1. Fixed reading the origin Net from incoming Type 2+ 1. Fixed reading the origin Net from incoming Type 2+

2
configure vendored
View File

@ -2309,7 +2309,7 @@ SUBDIRS="lib mbcico mbfido mbmon mbsebbs mbutils mbnntp mbtask mbsetup unix lang
PACKAGE="mbsebbs" PACKAGE="mbsebbs"
MAJOR="1" MAJOR="1"
MINOR="0" MINOR="0"
REVISION="7.8" REVISION="7.9"
VERSION="$MAJOR.$MINOR.$REVISION" VERSION="$MAJOR.$MINOR.$REVISION"
COPYRIGHT="Copyright (C) 1997-2018 MBSE Development Team, All Rights Reserved" COPYRIGHT="Copyright (C) 1997-2018 MBSE Development Team, All Rights Reserved"
SHORTRIGHT="Copyright (C) 1997-2018 MBSE DevTm" SHORTRIGHT="Copyright (C) 1997-2018 MBSE DevTm"

View File

@ -12,7 +12,7 @@ AC_SUBST(SUBDIRS)
PACKAGE="mbsebbs" PACKAGE="mbsebbs"
MAJOR="1" MAJOR="1"
MINOR="0" MINOR="0"
REVISION="7.8" REVISION="7.9"
VERSION="$MAJOR.$MINOR.$REVISION" VERSION="$MAJOR.$MINOR.$REVISION"
COPYRIGHT="Copyright (C) 1997-2018 MBSE Development Team, All Rights Reserved" COPYRIGHT="Copyright (C) 1997-2018 MBSE Development Team, All Rights Reserved"
SHORTRIGHT="Copyright (C) 1997-2018 MBSE DevTm" SHORTRIGHT="Copyright (C) 1997-2018 MBSE DevTm"

View File

@ -65,7 +65,7 @@ int Tic()
DIR *dp; DIR *dp;
struct dirent *de; struct dirent *de;
struct stat sbuf; struct stat sbuf;
int i, rc = 0, Age; int i, rc = 0, Age, len;
fd_list *fdl = NULL; fd_list *fdl = NULL;
orphans *opl = NULL, *tmp; orphans *opl = NULL, *tmp;
time_t Now, Fdate; time_t Now, Fdate;
@ -99,10 +99,11 @@ int Tic()
} }
while ((de = readdir(dp))) { while ((de = readdir(dp))) {
if ((strlen(de->d_name) == 12) && (strncasecmp(de->d_name+11, "c", 1) == 0)) { len = strlen(de->d_name);
if ((strncasecmp(de->d_name+8, ".a", 2) == 0) || (strncasecmp(de->d_name+8, ".c", 2) == 0) || if ((len >= 5) && (strncasecmp(de->d_name+(len-1), "c", 1) == 0)) {
(strncasecmp(de->d_name+8, ".z", 2) == 0) || (strncasecmp(de->d_name+8, ".l", 2) == 0) || if ((strncasecmp(de->d_name+(len-4), ".a", 2) == 0) || (strncasecmp(de->d_name+(len-4), ".c", 2) == 0) ||
(strncasecmp(de->d_name+8, ".r", 2) == 0) || (strncasecmp(de->d_name+8, ".0", 2) == 0)) { (strncasecmp(de->d_name+(len-4), ".z", 2) == 0) || (strncasecmp(de->d_name+(len-4), ".l", 2) == 0) ||
(strncasecmp(de->d_name+(len-4), ".r", 2) == 0) || (strncasecmp(de->d_name+(len-4), ".0", 2) == 0)) {
if (checkspace(inbound, de->d_name, UNPACK_FACTOR)) { if (checkspace(inbound, de->d_name, UNPACK_FACTOR)) {
if ((unpack(de->d_name)) != 0) { if ((unpack(de->d_name)) != 0) {
WriteError("Error unpacking %s", de->d_name); WriteError("Error unpacking %s", de->d_name);
@ -116,7 +117,8 @@ int Tic()
rewinddir(dp); rewinddir(dp);
while ((de = readdir(dp))) { while ((de = readdir(dp))) {
if ((strlen(de->d_name) == 12) && (strncasecmp(de->d_name+8, ".tic", 4) == 0)) { len = strlen(de->d_name);
if ((len >= 5) && (strncasecmp(de->d_name+(len-4), ".tic", 4) == 0)) {
stat(de->d_name, &sbuf); stat(de->d_name, &sbuf);
fill_fdlist(&fdl, de->d_name, sbuf.st_mtime); fill_fdlist(&fdl, de->d_name, sbuf.st_mtime);
} }