From ddb671e8a1e52d7ba3d959f2427a2f963e18e48e Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Tue, 19 Aug 2014 09:25:08 +0200 Subject: [PATCH] fix getLineFromDmdMessage doesnt work with -vcolumns --- src/ce_messages.pas | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/ce_messages.pas b/src/ce_messages.pas index 22996f99..37b714bb 100644 --- a/src/ce_messages.pas +++ b/src/ce_messages.pas @@ -508,10 +508,9 @@ begin end; end; -//TODO-cbugfix: doesnt work with -vcolumns function getLineFromDmdMessage(const aMessage: string): TPoint; var - i: NativeInt; + i, j: NativeInt; ident: string; begin result.x := 0; @@ -533,7 +532,7 @@ begin begin inc(i); if i > length(aMessage) then exit; - while( isNumber(aMessage[i]) ) do + while( isNumber(aMessage[i]) or (aMessage[i] = ',')) do begin ident += aMessage[i]; inc(i); @@ -541,7 +540,14 @@ begin end; if aMessage[i] = ')' then begin - result.y := strToIntDef(ident, -1); + j := Pos(',', ident); + if j = 0 then + result.y := strToIntDef(ident, -1) + else + begin + result.y := strToIntDef(ident[1..j-1], -1); + result.x := strToIntDef(ident[j+1..length(ident)], -1); + end; exit; end; end;