mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 04:09:11 +02:00
* added support for specifying package listing files using wildcards
git-svn-id: trunk@43669 -
This commit is contained in:
parent
599e2df71f
commit
caf1f0c714
@ -439,9 +439,13 @@ begin
|
||||
end;
|
||||
|
||||
var
|
||||
I, J: byte;
|
||||
I, J, K: byte;
|
||||
DAT: TDatFile;
|
||||
PrevCount: SW_Integer;
|
||||
SR: SearchRec;
|
||||
D: DirStr;
|
||||
N: NameStr;
|
||||
E: ExtStr;
|
||||
|
||||
begin
|
||||
J := ParamCount;
|
||||
@ -459,21 +463,36 @@ begin
|
||||
else
|
||||
Error ('Failure while loading source install.dat file (' + ParamStr (1) +
|
||||
')', 1);
|
||||
K := 0;
|
||||
for I := 2 to J do
|
||||
begin
|
||||
PrevCount := DAT.LstCollection^.Count;
|
||||
if DAT.ReadLstFile (ParamStr (I)) then
|
||||
WriteLn ('Package listing #', Pred (I), ' (', ParamStr (I),
|
||||
') loaded correctly: ', DAT.LstCollection^.Count - PrevCount,
|
||||
' new records')
|
||||
FSplit (ParamStr (I), D, N, E);
|
||||
FindFirst (ParamStr (I), AnyFile - Directory, SR);
|
||||
if DosError <> 0 then
|
||||
Error ('No package listing file found for "' + ParamStr (I) + '"', I)
|
||||
else
|
||||
Error ('Failure while loading package listing (' + ParamStr (I) + ')', I);
|
||||
begin
|
||||
while (DosError = 0) do
|
||||
begin
|
||||
Inc (K);
|
||||
PrevCount := DAT.LstCollection^.Count;
|
||||
if DAT.ReadLstFile (D + SR.Name) then
|
||||
WriteLn ('Package listing #', K, ' (', D + SR.Name,
|
||||
') loaded correctly: ', DAT.LstCollection^.Count - PrevCount,
|
||||
' new records')
|
||||
else
|
||||
Error ('Failure while loading package listing (' + D + SR.Name + ')',
|
||||
J + K);
|
||||
FindNext (SR);
|
||||
end;
|
||||
FindClose (SR);
|
||||
end;
|
||||
end;
|
||||
WriteLn ('Total: ', DAT.LstCollection^.Count, ' new records');
|
||||
if DAT.WriteNew (DefDiffFN) then
|
||||
WriteLn ('Output file (' + DefDiffFN + ') created successfully.')
|
||||
else
|
||||
Error ('Failure while trying to write records to the output file (' +
|
||||
DefDiffFN + ')', Succ (J));
|
||||
DefDiffFN + ')', Succ (J) + K);
|
||||
DAT.Done;
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user