From cb53e34e2dfd14333205491d3404f5ee20e37025 Mon Sep 17 00:00:00 2001 From: mysticbbs <mysticbbs@gmail.com> Date: Fri, 24 Feb 2012 09:31:16 -0500 Subject: [PATCH] ExecuteArchive is no longer case sensitive during extention checking --- mystic/bbs_filebase.pas | 7 +++++-- mystic/mbbsutil.pas | 11 ++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/mystic/bbs_filebase.pas b/mystic/bbs_filebase.pas index ba22dfe..baa3574 100644 --- a/mystic/bbs_filebase.pas +++ b/mystic/bbs_filebase.pas @@ -975,7 +975,7 @@ Begin 'L' : Temp := 'LZH'; 'R' : Temp := 'RAR'; 'Z' : Temp := 'ZIP'; - '?' : Temp := strUpper(Copy(FName, Succ(Pos('.', FName)), Length(FName))); //get ext function + '?' : Temp := strUpper(JustFileExt(FName)); End; Reset (ArcFile); @@ -985,9 +985,12 @@ Begin Close (ArcFile); Exit; End; + Read (ArcFile, Arc); + If (Not Arc.Active) or (Arc.OSType <> OSType) Then Continue; - If Arc.Ext = Temp Then Break; + + If strUpper(Arc.Ext) = Temp Then Break; Until False; Close (ArcFile); diff --git a/mystic/mbbsutil.pas b/mystic/mbbsutil.pas index d213d4f..1bbc503 100644 --- a/mystic/mbbsutil.pas +++ b/mystic/mbbsutil.pas @@ -79,6 +79,8 @@ Type Function ShellDOS (ExecPath: String; Command: String) : LongInt; Begin + // needs to save/restore screen + If ExecPath <> '' Then DirChange(ExecPath); {$IFDEF UNIX} @@ -104,9 +106,12 @@ Var ArcFile : File of RecArchive; Arc : RecArchive; Begin - Temp := JustFileExt(FName); + Temp := strUpper(JustFileExt(FName)); - Reset (ArcFile); + Assign (ArcFile, Config.DataPath + 'archive.dat'); + {$I-} Reset (ArcFile); {$I+} + + If IoResult <> 0 Then Exit; Repeat If Eof(ArcFile) Then Begin @@ -118,7 +123,7 @@ Begin If (Not Arc.Active) or (Arc.OSType <> OSType) Then Continue; - If Arc.Ext = Temp Then Break; + If strUpper(Arc.Ext) = Temp Then Break; Until False; Close (ArcFile);