ObjFW  Diff

Differences From Artifact [bfb188d370]:

To Artifact [693af0fda5]:


12
13
14
15
16
17
18

19
20



21
22








23
24




















25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

43
44



45
46
47

48




49






50
51
52

53
54

55
56
57

58
59

60
61
62
63
64
65
66
12
13
14
15
16
17
18
19


20
21
22
23
24
25
26
27
28
29
30
31
32


33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69

70
71

72
73
74
75
76

77
78
79
80
81
82

83
84
85
86
87
88
89
90

91
92

93
94
95

96
97

98
99
100
101
102
103
104
105







+
-
-
+
+
+


+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

















-
+

-
+
+
+


-
+

+
+
+
+
-
+
+
+
+
+
+


-
+

-
+


-
+

-
+







 * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
 * file.
 */

#include "config.h"

#import "OFMutableTarArchiveEntry.h"
#import "OFTarArchiveEntry+Private.h"
#import "OFString.h"
#import "OFDate.h"
#import "OFDate.h"
#import "OFNumber.h"
#import "OFString.h"

@implementation OFMutableTarArchiveEntry
@dynamic fileName, POSIXPermissions, ownerAccountID, groupOwnerAccountID;
@dynamic compressedSize, uncompressedSize, modificationDate, type;
@dynamic targetFileName, ownerAccountName, groupOwnerAccountName, deviceMajor;
@dynamic deviceMinor;
/*
 * The following is optional in OFMutableArchiveEntry, but Apple GCC 4.0.1 is
 * buggy and needs this to stop complaining.
 */
@dynamic fileName, mode, UID, GID, size, modificationDate, type, targetFileName;
@dynamic owner, group, deviceMajor, deviceMinor;
@dynamic fileComment;

+ (instancetype)entryWithFileName: (OFString *)fileName
{
	return [[[self alloc] initWithFileName: fileName] autorelease];
}

- (instancetype)initWithFileName: (OFString *)fileName
{
	self = [super of_init];

	@try {
		_fileName = [fileName copy];
	} @catch (id e) {
		[self release];
		@throw e;
	}

	return self;
}

- (id)copy
{
	OFMutableTarArchiveEntry *copy = [self mutableCopy];

	[copy makeImmutable];

	return copy;
}

- (void)setFileName: (OFString *)fileName
{
	OFString *old = _fileName;
	_fileName = [fileName copy];
	[old release];
}

- (void)setMode: (unsigned long)mode
- (void)setPOSIXPermissions: (OFNumber *)POSIXPermissions
{
	_mode = mode;
	OFNumber *old = _POSIXPermissions;
	_POSIXPermissions = [POSIXPermissions retain];
	[old release];
}

- (void)setUID: (unsigned long)UID
- (void)setOwnerAccountID: (OFNumber *)ownerAccountID
{
	OFNumber *old = _ownerAccountID;
	_ownerAccountID = [ownerAccountID retain];
	[old release];
}
	_UID = UID;

- (void)setGroupOwnerAccountID: (OFNumber *)groupOwnerAccountID
{
	OFNumber *old = _groupOwnerAccountID;
	_groupOwnerAccountID = [groupOwnerAccountID retain];
	[old release];
}

- (void)setGID: (unsigned long)GID
- (void)setCompressedSize: (unsigned long long)compressedSize
{
	_GID = GID;
	_compressedSize = compressedSize;
}

- (void)setSize: (unsigned long long)size
- (void)setUncompressedSize: (unsigned long long)uncompressedSize
{
	_size = size;
	_uncompressedSize = uncompressedSize;
}

- (void)setModificationDate: (OFDate *)modificationDate
{
	OFDate *old = _modificationDate;
	_modificationDate = [modificationDate retain];
	[old release];
74
75
76
77
78
79
80
81

82
83
84


85
86
87
88

89
90
91


92
93
94
95
96
97
98
113
114
115
116
117
118
119

120
121


122
123
124
125
126

127
128


129
130
131
132
133
134
135
136
137







-
+

-
-
+
+



-
+

-
-
+
+







- (void)setTargetFileName: (OFString *)targetFileName
{
	OFString *old = _targetFileName;
	_targetFileName = [targetFileName copy];
	[old release];
}

- (void)setOwner: (OFString *)owner
- (void)setOwnerAccountName: (OFString *)ownerAccountName
{
	OFString *old = _owner;
	_owner = [owner copy];
	OFString *old = _ownerAccountName;
	_ownerAccountName = [ownerAccountName copy];
	[old release];
}

- (void)setGroup: (OFString *)group
- (void)setGroupOwnerAccountName: (OFString *)groupOwnerAccountName
{
	OFString *old = _group;
	_group = [group copy];
	OFString *old = _groupOwnerAccountName;
	_groupOwnerAccountName = [groupOwnerAccountName copy];
	[old release];
}

- (void)setDeviceMajor: (unsigned long)deviceMajor
{
	_deviceMajor = deviceMajor;
}