LazDebuggerGdbmi: Fix compile for non-win targets.

This commit is contained in:
Martin 2022-02-01 20:17:02 +01:00
parent f895353287
commit 6adac81859

View File

@ -14677,39 +14677,41 @@ begin
finally
UnSelectContext;
if FWatchValue <> nil then begin
if (FTypeInfo <> nil) and (FTypeInfo.Kind in [skSimple, skPointer, skInteger, skCardinal]) and
(FWatchValue.RepeatCount <= 0)
then begin
NumFlags := [];
n := 0;
if (FTypeInfo.Kind = skPointer) then begin
NumFlags := [nvfAddrType];
n := TargetInfo^.TargetPtrSize;
end;
FTextValue := Trim(FTextValue);
if (FTypeInfo.Kind = skInteger) or ((FTextValue <> '') and (FTextValue[1]='-')) then begin
if TryStrToInt64(FTextValue, Int64(NumVal)) then begin
FWatchValue.SetNumValue(NumVal, n, NumFlags);
FWatchValue.SetTypeName(FTypeInfo.TypeName);
FWatchValue.Validity := FValidity;
exit;
repeat
if (FTypeInfo <> nil) and (FTypeInfo.Kind in [skSimple, skPointer, skInteger, skCardinal]) and
(FWatchValue.RepeatCount <= 0)
then begin
NumFlags := [];
n := 0;
if (FTypeInfo.Kind = skPointer) then begin
NumFlags := [nvfAddrType];
n := TargetInfo^.TargetPtrSize;
end;
end
else begin
Include(NumFlags, nvfUnsigned);
if TryStrToQWord(FTextValue, NumVal) then begin
FWatchValue.SetNumValue(NumVal, n, NumFlags);
FWatchValue.SetTypeName(FTypeInfo.TypeName);
FWatchValue.Validity := FValidity;
exit;
FTextValue := Trim(FTextValue);
if (FTypeInfo.Kind = skInteger) or ((FTextValue <> '') and (FTextValue[1]='-')) then begin
if TryStrToInt64(FTextValue, Int64(NumVal)) then begin
FWatchValue.SetNumValue(NumVal, n, NumFlags);
FWatchValue.SetTypeName(FTypeInfo.TypeName);
FWatchValue.Validity := FValidity;
break;
end;
end
else begin
Include(NumFlags, nvfUnsigned);
if TryStrToQWord(FTextValue, NumVal) then begin
FWatchValue.SetNumValue(NumVal, n, NumFlags);
FWatchValue.SetTypeName(FTypeInfo.TypeName);
FWatchValue.Validity := FValidity;
break;
end;
end;
end;
end;
FWatchValue.Value := FTextValue;
FWatchValue.TypeInfo := TypeInfo;
FWatchValue.Validity := FValidity;
FWatchValue.Value := FTextValue;
FWatchValue.TypeInfo := TypeInfo;
FWatchValue.Validity := FValidity;
until true;
end;
end;
end;