summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2>2017-04-28 14:13:23 +0000
committermarco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2>2017-04-28 14:13:23 +0000
commite8f04d9b1babe62831c7c472da999d48710e0b7c (patch)
treee45f4145c3c604670c232cc23bd72a8c6e8b505e
parentc496311266464a36eec44fd6e9616d157c7472a2 (diff)
downloadfpc-e8f04d9b1babe62831c7c472da999d48710e0b7c.tar.gz
--- Merging r33772 into '.':
U packages/fcl-base/src/custapp.pp --- Recording mergeinfo for merge of r33772 into '.': U . --- Merging r34294 into '.': U packages/fcl-base/fpmake.pp --- Recording mergeinfo for merge of r34294 into '.': G . --- Merging r34467 into '.': U packages/fcl-base/src/inifiles.pp --- Recording mergeinfo for merge of r34467 into '.': G . --- Merging r34500 into '.': G packages/fcl-base/src/custapp.pp --- Recording mergeinfo for merge of r34500 into '.': G . # revisions: 33772,34294,34467,34500 git-svn-id: http://svn.freepascal.org/svn/fpc/branches/fixes_3_0@35999 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--packages/fcl-base/fpmake.pp2
-rw-r--r--packages/fcl-base/src/custapp.pp13
-rw-r--r--packages/fcl-base/src/inifiles.pp20
3 files changed, 23 insertions, 12 deletions
diff --git a/packages/fcl-base/fpmake.pp b/packages/fcl-base/fpmake.pp
index f9320e14fe..8afcc49937 100644
--- a/packages/fcl-base/fpmake.pp
+++ b/packages/fcl-base/fpmake.pp
@@ -124,7 +124,7 @@ begin
end;
T:=P.Targets.addUnit('advancedipc.pp');
T.ResourceStrings:=true;
- T:=P.Targets.addUnit('advancedsingleinstance.pp');
+ T:=P.Targets.addUnit('advancedsingleinstance.pas');
T.ResourceStrings:=true;
// Additional sources
P.Sources.AddSrcFiles('src/win/fclel.*', P.Directory);
diff --git a/packages/fcl-base/src/custapp.pp b/packages/fcl-base/src/custapp.pp
index d186bac37c..0f722d9a3a 100644
--- a/packages/fcl-base/src/custapp.pp
+++ b/packages/fcl-base/src/custapp.pp
@@ -285,7 +285,7 @@ begin
except
On E : Exception do
Log(etError,Format('Error formatting message "%s" with %d arguments: %s',[Fmt,Length(Args),E.Message]));
- end
+ end
end;
constructor TCustomApplication.Create(AOwner: TComponent);
@@ -597,7 +597,7 @@ begin
If (Length(O)=0) or (O[1]<>FOptionChar) then
begin
If Assigned(NonOpts) then
- NonOpts.Add(O)
+ NonOpts.Add(O);
end
else
begin
@@ -623,7 +623,7 @@ begin
If FindLongopt(O) then
begin
If HaveArg then
- AddToResult(Format(SErrNoOptionAllowed,[I,O]))
+ AddToResult(Format(SErrNoOptionAllowed,[I,O]));
end
else
begin // Required argument
@@ -643,8 +643,6 @@ begin
begin
HaveArg:=(I<ParamCount) and (Length(ParamStr(I+1))>0) and (ParamStr(I+1)[1]<>FOptionChar);
UsedArg:=False;
- If HaveArg then
- OV:=Paramstr(I+1);
If Not CaseSensitiveOptions then
O:=LowerCase(O);
L:=Length(O);
@@ -668,10 +666,11 @@ begin
end;
Inc(J);
end;
- If HaveArg and UsedArg then
+ HaveArg:=HaveArg and UsedArg;
+ If HaveArg then
begin
Inc(I); // Skip argument.
- O:=O[Length(O)]; // O is added to arguments !
+ OV:=Paramstr(I);
end;
end;
If HaveArg and ((Result='') or AllErrors) then
diff --git a/packages/fcl-base/src/inifiles.pp b/packages/fcl-base/src/inifiles.pp
index e2fefe6d05..6ecd2be960 100644
--- a/packages/fcl-base/src/inifiles.pp
+++ b/packages/fcl-base/src/inifiles.pp
@@ -337,7 +337,10 @@ begin
if not FValueHashValid then
UpdateValueHash;
- I := FValueHash.FindIndexOf(S);
+ if CaseSensitive then
+ I := FValueHash.FindIndexOf(S)
+ else
+ I := FValueHash.FindIndexOf(AnsiUpperCase(S));
if I >= 0 then
Result := Integer(FValueHash[I])-1
else
@@ -351,7 +354,10 @@ begin
if not FNameHashValid then
UpdateNameHash;
- I := FNameHash.FindIndexOf(Name);
+ if CaseSensitive then
+ I := FNameHash.FindIndexOf(Name)
+ else
+ I := FNameHash.FindIndexOf(AnsiUpperCase(Name));
if I >= 0 then
Result := Integer(FNameHash[I])-1
else
@@ -374,7 +380,10 @@ begin
else
FValueHash.Clear;
for I := 0 to Count - 1 do
- FValueHash.Add(Strings[I], Pointer(I+1));
+ if CaseSensitive then
+ FValueHash.Add(Strings[I], Pointer(I+1))
+ else
+ FValueHash.Add(AnsiUpperCase(Strings[I]), Pointer(I+1));
FValueHashValid := True;
end;
@@ -387,7 +396,10 @@ begin
else
FNameHash.Clear;
for I := 0 to Count - 1 do
- FNameHash.Add(Names[I], Pointer(I+1));
+ if CaseSensitive then
+ FNameHash.Add(Names[I], Pointer(I+1))
+ else
+ FNameHash.Add(AnsiUpperCase(Names[I]), Pointer(I+1));
FNameHashValid := True;
end;