Fix duplication of AREASEP and packing of *.msg bases

This commit is contained in:
Alexander S. Aganichev
2002-08-07 07:21:41 +00:00
parent 53be996e1d
commit 53d11a6bce
4 changed files with 34 additions and 7 deletions

View File

@@ -172,10 +172,17 @@ void FidoArea::open() {
if(isopen == 1) {
if(ispacked()) {
isopen--;
const char* newpath = Unpack(path());
Path tmp;
strxcpy(tmp, path(), sizeof(Path));
StripBackslash(tmp);
const char* newpath = Unpack(tmp);
if(newpath == NULL)
packed(false);
set_real_path(newpath ? newpath : path());
else {
strcpy(tmp, newpath);
AddBackslash(tmp);
}
set_real_path(newpath ? tmp : path());
isopen++;
}
data_open();

View File

@@ -41,10 +41,17 @@ void FidoArea::raw_scan(bool __scanpm) {
if(not _wasopen) {
isopen++;
if(ispacked()) {
const char* newpath = Unpack(path());
Path tmp;
strxcpy(tmp, path(), sizeof(Path));
StripBackslash(tmp);
const char* newpath = Unpack(tmp);
if(newpath == NULL)
packed(false);
set_real_path(newpath ? newpath : path());
else {
strcpy(tmp, newpath);
AddBackslash(tmp);
}
set_real_path(newpath ? tmp : path());
}
}