diff --git a/components/synedit/syneditsearch.pp b/components/synedit/syneditsearch.pp index 7067b2367c..ecdf2f5c74 100644 --- a/components/synedit/syneditsearch.pp +++ b/components/synedit/syneditsearch.pp @@ -150,7 +150,7 @@ uses Windows, {$ENDIF} SysUtils; - + var CompTableSensitive: boolean; CompTable: array[#0..#255] of Byte; @@ -428,7 +428,7 @@ var MaxPos: Integer; xStep: Integer; IsMultiLinePattern: Boolean; - + procedure FixRange; var aLine: string; @@ -456,13 +456,13 @@ var EndPos:=Point(1,EndPos.Y+1); end; end; - + function FindNextPatternLineEnd(const s: string; StartPos: integer): integer; begin Result:=StartPos; while (Result<=length(s)) and (not (s[Result] in [#10,#13])) do inc(Result); end; - + function FindPrevPatternLineEnd(const s: string; StartPos: integer): integer; begin Result:=StartPos; @@ -513,7 +513,7 @@ var RegExprEngine.ExecPos(FoundPos); end; end; - + function CompareContent(p1, p2: PChar; Count: integer): boolean; begin while Count>0 do begin @@ -528,7 +528,7 @@ var end; Result:=true; end; - + function WholeWordAtStartFits: boolean; var CurLine: string; @@ -617,7 +617,7 @@ var if CurY<0 then exit; LineEndPos:=LineStartPos-1; if (LineEndPos>=length(LineEnding)) and - CompareMem(@Pat[LineEndPos+1-length(LineEnding)], @LineEnding[1], length(LineEnding)) + CompareMem(@Pat[LineEndPos+1-length(LineEnding)], PChar(LineEnding), length(LineEnding)) then dec(LineEndPos, length(LineEnding)); CurLineStr:=Lines[CurY]; @@ -656,7 +656,7 @@ var end; LineStartPos:=LineEndPos+1; if (LineStartPos>0) and (LineStartPos+Length(LineEnding)-1<=length(Pat)) and - CompareMem(@Pat[LineStartPos], @LineEnding[1], length(LineEnding)) + CompareMem(@Pat[LineStartPos], PChar(LineEnding), length(LineEnding)) then inc(LineStartPos, length(LineEnding)); if (LineStartPos > length(Pat)) then begin // Empty string @@ -692,7 +692,7 @@ var end; until false; end; - + function GetTextRange: string; // get the search text range as one string // returns whole lines. That means if StartPos start in the middle of a line @@ -708,7 +708,7 @@ var begin //DebugLn(['GetTextRange StartPos=',dbgs(StartPos),' EndPos=',dbgs(EndPos)]); //DebugLn(Lines.Text); - + if EndPos.Y