From 0155f244a4f78e5f1fe18877a34ffb159437b631 Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Fri, 10 Apr 2020 18:30:56 +0200 Subject: [PATCH] remove code for ddemangle compatibility prior to version 2.072 --- src/u_ddemangle.pas | 49 +++++++++------------------------------------ 1 file changed, 9 insertions(+), 40 deletions(-) diff --git a/src/u_ddemangle.pas b/src/u_ddemangle.pas index 65d9b7d0..40a67c09 100644 --- a/src/u_ddemangle.pas +++ b/src/u_ddemangle.pas @@ -35,10 +35,6 @@ var demangler: TDDemangler; constructor TDDemangler.create; -var - s: string = '.0.'; - r: TStringRange; - v: integer; begin fList := TStringList.Create; fOut := TStringList.Create; @@ -46,46 +42,19 @@ begin fProc.Options:= [poUsePipes]; fProc.OnTerminate:=@procTerminate; fProc.ShowWindow:= swoHIDE; - - // Arch Linux users can have the tool setup w/o DMD - {$IFDEF POSIX} - fProc.Executable := exeFullName('dtools-ddemangle'); - if fProc.Executable.fileExists then - begin - fProc.execute; - fActive := true; - exit; - end; - {$ENDIF} - - // up to version 2.071 ddemangle cannot be daemon-ized - with TProcess.Create(nil) do - try - Executable := exeFullName('dmd' + exeExt); - if Executable.fileExists then - begin - setLength(s, 128); - Parameters.Text:= '--version'; - Options:= [poUsePipes]; - ShowWindow:= swoHIDE; - execute; - output.Read(s[1], 128); - while Running do - sleep(1); - end; - finally - free; - end; - r := r.create(s); - v := r.popUntil('.')^.popFront^.takeUntil('.').yield.toInt; - fProc.Executable := exeFullName('ddemangle' + exeExt); - if (v >= 72) and fProc.Executable.fileExists then + {$IFDEF POSIX} + // Arch Linux users can have the tool setup w/o DMD + if fProc.Executable.isEmpty then + fProc.Executable := exeFullName('dtools-ddemangle'); + {$ENDIF} + if fProc.Executable.isNotEmpty and + fProc.Executable.fileExists then begin fProc.execute; fActive := true; - end - else fActive := false; + end; + fActive := fProc.Running; end; destructor TDDemangler.destroy;