summaryrefslogtreecommitdiff
path: root/dateibeziehungen.pas
diff options
context:
space:
mode:
Diffstat (limited to 'dateibeziehungen.pas')
-rw-r--r--dateibeziehungen.pas18
1 files changed, 11 insertions, 7 deletions
diff --git a/dateibeziehungen.pas b/dateibeziehungen.pas
index 4fb444f..d55fe43 100644
--- a/dateibeziehungen.pas
+++ b/dateibeziehungen.pas
@@ -5,7 +5,7 @@ unit dateiBeziehungen;
interface
uses
- classes, sysUtils, tools, regExpr;
+ classes, sysUtils, tools, regExpr, mystringlistunit;
type
tZeilenTyp = (ztSuche,ztZiel,ztQuelle,ztBefehl);
@@ -92,6 +92,7 @@ type
tMach = class
private
_machDatei,_pruefSummenDatei: string;
+ _ueberwachteDateien: tMyStringList;
_oriAbh: tGenerischeAbhaengigkeiten;
_mglAbh: tExpliziteAbhaengigkeiten;
_dats: tDateienMitDaten;
@@ -116,7 +117,7 @@ procedure allgemeineErsetzungen(var worin: string; worinIstRegex: tRegexTyp; mac
implementation
uses
- lowlevelunit, mystringlistunit, systemunit;
+ lowlevelunit, systemunit;
// tGenerischeAbhaengigkeiten ************************************************************
@@ -725,6 +726,7 @@ begin
_mglAbh:=tExpliziteAbhaengigkeiten.create;
_dats:=tDateienMitDaten.create;
_warten:=warten;
+ _ueberwachteDateien:=tMyStringList.create;
// machDatei teilweise prüfen und setzen
if machDatei='' then begin
@@ -761,6 +763,7 @@ begin
_mglAbh.free;
_dats.mrProper;
_dats.free;
+ _ueberwachteDateien.free;
for i:=0 to length(_ign)-1 do
_ign[i].free;
setLength(_ign,0);
@@ -830,7 +833,8 @@ begin
end
else begin
rek:=startetMit('-r',s);
- while s<>'' do
+ while s<>'' do begin
+ _ueberwachteDateien.add(char(ord('0')+byte(rek))+s);
if sammleDateien(erstesArgument(s),rek)=0 then begin
f.stepBack;
f.readln(s);
@@ -838,6 +842,7 @@ begin
aufraeumen;
exit;
end;
+ end;
end;
end;
ztBefehl: begin
@@ -1038,11 +1043,10 @@ begin
if (sicher=1) or // der Benutzer will es
((sicher=0) and (_dats.finde(_machDatei).aktuell<>aAktuell)) then begin // die Machdatei ist nicht aktuell
lokTest:=tRegExpr.create;
- if (ausgabeDatei='') or
- (extractFilePath(ausgabeDatei)=extractFilePath(_pruefSummenDatei)) then
- lokTest.expression:=unterVerzeichnisRegex([_pruefSummenDatei])
+ if ausgabeDatei<>'' then
+ lokTest.expression:=unterVerzeichnisRegex(['0'+ausgabeDatei,_ueberwachteDateien])
else
- lokTest.expression:=unterVerzeichnisRegex([ausgabeDatei,_pruefSummenDatei]);
+ lokTest.expression:=unterVerzeichnisRegex([_ueberwachteDateien]);
alleDateien:=_dats.toMyStringList;
alleDateien.grep('^\.uralt\.$',true);
for i:=0 to befehle.count-1 do