Fix duplication of AREASEP and packing of *.msg bases
This commit is contained in:
@@ -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();
|
||||
|
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user