Selaa lähdekoodia

Read read-only configuration files.

Margers 3 viikkoa sitten
vanhempi
sitoutus
9bf750f9e1
2 muutettua tiedostoa jossa 8 lisäystä ja 0 poistoa
  1. 4 0
      packages/ide/fpswitch.pas
  2. 4 0
      packages/ide/wini.pas

+ 4 - 0
packages/ide/fpswitch.pas

@@ -1010,11 +1010,15 @@ var
   s : string;
   s : string;
   res : boolean;
   res : boolean;
   OldSwitchesMode,i : TSwitchMode;
   OldSwitchesMode,i : TSwitchMode;
+  oFileMode : byte;
 begin
 begin
+  oFileMode:=FileMode;   {save file open mode}
+  FileMode:=0;           {Reset will open file in read only mode }
   assign(CfgFile,fn);
   assign(CfgFile,fn);
   {$I-}
   {$I-}
    reset(CfgFile);
    reset(CfgFile);
   {$I+}
   {$I+}
+  FileMode:=oFileMode;   {restore file open mode}
   if ioresult<>0 then
   if ioresult<>0 then
    begin
    begin
      SetDefaultSwitches;
      SetDefaultSwitches;

+ 4 - 0
packages/ide/wini.pas

@@ -437,12 +437,16 @@ var f: text;
     S,TS: string;
     S,TS: string;
     P: PINISection;
     P: PINISection;
     I: integer;
     I: integer;
+    oFileMode : byte;
 begin
 begin
   New(P, Init(MainSectionName));
   New(P, Init(MainSectionName));
   Sections^.Insert(P);
   Sections^.Insert(P);
+  oFileMode:=FileMode;   {save file open mode}
+  FileMode:=0;           {Reset will open file in read only mode }
   Assign(f,FileName^);
   Assign(f,FileName^);
 {$I-}
 {$I-}
   Reset(f);
   Reset(f);
+  FileMode:=oFileMode;   {restore file open mode}
   OK:=EatIO=0;
   OK:=EatIO=0;
   while OK and (Eof(f)=false) do
   while OK and (Eof(f)=false) do
     begin
     begin