mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 20:09:27 +02:00
Change AddFile method from procedure to boolean function
git-svn-id: trunk@29269 -
This commit is contained in:
parent
ec24138bfa
commit
43213dc637
@ -187,7 +187,7 @@ TYPE
|
|||||||
CONSTRUCTOR Create (TargetStream : TStream); OVERLOAD;
|
CONSTRUCTOR Create (TargetStream : TStream); OVERLOAD;
|
||||||
CONSTRUCTOR Create (TargetFilename : STRING; Mode : INTEGER = fmCreate); OVERLOAD;
|
CONSTRUCTOR Create (TargetFilename : STRING; Mode : INTEGER = fmCreate); OVERLOAD;
|
||||||
DESTRUCTOR Destroy; OVERRIDE; // Writes End-Of-File Tag
|
DESTRUCTOR Destroy; OVERRIDE; // Writes End-Of-File Tag
|
||||||
PROCEDURE AddFile (Filename : STRING; TarFilename : STRING = '');
|
FUNCTION AddFile (Filename : STRING; TarFilename : STRING = '') : BOOLEAN;
|
||||||
PROCEDURE AddStream (Stream : TStream; TarFilename : STRING; FileDateGmt : TDateTime);
|
PROCEDURE AddStream (Stream : TStream; TarFilename : STRING; FileDateGmt : TDateTime);
|
||||||
PROCEDURE AddString (Contents : STRING; TarFilename : STRING; FileDateGmt : TDateTime);
|
PROCEDURE AddString (Contents : STRING; TarFilename : STRING; FileDateGmt : TDateTime);
|
||||||
PROCEDURE AddDir (Dirname : STRING; DateGmt : TDateTime; MaxDirSize : INT64 = 0);
|
PROCEDURE AddDir (Dirname : STRING; DateGmt : TDateTime; MaxDirSize : INT64 = 0);
|
||||||
@ -787,17 +787,30 @@ BEGIN
|
|||||||
END;
|
END;
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE TTarWriter.AddFile (Filename : STRING; TarFilename : STRING = '');
|
FUNCTION TTarWriter.AddFile (Filename : STRING; TarFilename : STRING = '') : BOOLEAN;
|
||||||
VAR
|
VAR
|
||||||
S : TFileStream;
|
S : TFileStream;
|
||||||
Date : TDateTime;
|
Date : TDateTime;
|
||||||
BEGIN
|
BEGIN
|
||||||
|
AddFile:=false;
|
||||||
Date := FileTimeGMT (Filename);
|
Date := FileTimeGMT (Filename);
|
||||||
IF TarFilename = '' THEN
|
IF TarFilename = '' THEN
|
||||||
TarFilename := ConvertFilename (Filename);
|
TarFilename := ConvertFilename (Filename);
|
||||||
|
TRY
|
||||||
S := TFileStream.Create (Filename, fmOpenRead OR fmShareDenyWrite);
|
S := TFileStream.Create (Filename, fmOpenRead OR fmShareDenyWrite);
|
||||||
|
EXCEPT
|
||||||
|
ON EFOpenError DO
|
||||||
|
BEGIN
|
||||||
|
Writeln(stderr,'LibTar error: unable to open file "',Filename,'" for reading.');
|
||||||
|
S.Free;
|
||||||
|
exit;
|
||||||
|
END;
|
||||||
|
END;
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
AddStream (S, TarFilename, Date);
|
AddStream (S, TarFilename, Date);
|
||||||
|
// No error, AddFile succeeded
|
||||||
|
AddFile:=true;
|
||||||
FINALLY
|
FINALLY
|
||||||
S.Free
|
S.Free
|
||||||
END;
|
END;
|
||||||
|
Loading…
Reference in New Issue
Block a user