summaryrefslogtreecommitdiff
path: root/packages/fcl-base
diff options
context:
space:
mode:
authormarco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2>2010-06-14 12:24:12 +0000
committermarco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2>2010-06-14 12:24:12 +0000
commitbec5b66adc11e34f7094c258abba0d2fe7407ff5 (patch)
treee649b85be91511503b30c1a3abf9800daca61064 /packages/fcl-base
parentb018fa1e6891ef47423d209e07d8f6c52ff8b782 (diff)
downloadfpc-bec5b66adc11e34f7094c258abba0d2fe7407ff5.tar.gz
* do not prefix inifile.readsectionvalues results with '=' when key='' (Delphi TMeminifile compatible. API based Delphi TInifile refuses to read such files)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@15436 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fcl-base')
-rw-r--r--packages/fcl-base/src/inifiles.pp25
1 files changed, 13 insertions, 12 deletions
diff --git a/packages/fcl-base/src/inifiles.pp b/packages/fcl-base/src/inifiles.pp
index c3362c5eb7..d07a6a26ba 100644
--- a/packages/fcl-base/src/inifiles.pp
+++ b/packages/fcl-base/src/inifiles.pp
@@ -122,7 +122,7 @@ type
FFileName: string;
FSectionList: TIniFileSectionList;
FEscapeLineFeeds: boolean;
- FCaseSensitive : Boolean;
+ FCaseSensitive : Boolean;
FStripQuotes : Boolean;
public
constructor Create(const AFileName: string; AEscapeLineFeeds : Boolean = False); virtual;
@@ -332,13 +332,13 @@ begin
If CaseSensitive then
begin
for i := 0 to Count-1 do
- if Items[i].Ident=AName then
+ if Items[i].Ident=AName then
begin
Result := Items[i];
Break;
end;
end
- else
+ else
for i := 0 to Count-1 do
if CompareText(Items[i].Ident, AName) = 0 then begin
Result := Items[i];
@@ -408,7 +408,7 @@ begin
If CaseSensitive then
begin
for i:=0 to Count-1 do
- if (Items[i].Name=AName) then
+ if (Items[i].Name=AName) then
begin
Result := Items[i];
Break;
@@ -416,7 +416,7 @@ begin
end
else
for i := 0 to Count-1 do
- if CompareText(Items[i].Name, AName) = 0 then
+ if CompareText(Items[i].Name, AName) = 0 then
begin
Result := Items[i];
Break;
@@ -627,12 +627,12 @@ begin
FStream := nil;
slLines := TStringList.Create;
try
- if FileExists(FFileName) then
+ if FileExists(FFileName) then
begin
// read the ini file values
slLines.LoadFromFile(FFileName);
FillSectionList(slLines);
- end
+ end
finally
slLines.Free;
end;
@@ -726,7 +726,7 @@ begin
else
begin
sIdent:=Trim(Copy(sLine, 1, j - 1));
- sValue:=Trim(Copy(sLine, j + 1, Length(sLine) - j));
+ sValue:=Trim(Copy(sLine, j + 1, Length(sLine) - j));
end;
end;
oSection.KeyList.Add(TIniFileKey.Create(sIdent, sValue));
@@ -756,7 +756,7 @@ begin
Result:=Copy(oKey.Value,2,J-2)
else
Result:=oKey.Value;
- end
+ end
else Result:=oKey.Value;
end;
end;
@@ -877,7 +877,8 @@ begin
If (J>1) and ((s[1] in ['"','''']) and (s[J]=s[1])) then
s:=Copy(s,2,J-2);
end;
- s:=Items[i].Ident+Separator+s;
+ if Items[i].Ident<>'' then
+ s:=Items[i].Ident+Separator+s;
Strings.Add(s);
end;
finally
@@ -918,10 +919,10 @@ var
oKey: TIniFileKey;
begin
oSection := FSectionList.SectionByName(Section,CaseSensitive);
- if oSection <> nil then
+ if oSection <> nil then
begin
oKey := oSection.KeyList.KeyByName(Ident,CaseSensitive);
- if oKey <> nil then
+ if oKey <> nil then
begin
oSection.KeyList.Delete(oSection.KeyList.IndexOf(oKey));
oKey.Free;