ObjFW  Diff

Differences From Artifact [a59ee4c2b7]:

To Artifact [319db3107f]:


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
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







-
+



-
+




-
+











-
-
-
+
+
+

-
+


-
-
-
+
+
+










-
+






-
-
+
+

-
+

-
+

-
+




-
+




-
+




-
+



#import "OFChangeFileModeFailedException.h"
#import "OFString.h"

#import "common.h"

@implementation OFChangeFileModeFailedException
+ (instancetype)exceptionWithClass: (Class)class_
+ (instancetype)exceptionWithClass: (Class)class
			      path: (OFString*)path
			      mode: (mode_t)mode
{
	return [[[self alloc] initWithClass: class_
	return [[[self alloc] initWithClass: class
				       path: path
				       mode: mode] autorelease];
}

- initWithClass: (Class)class_
- initWithClass: (Class)class
{
	@try {
		[self doesNotRecognizeSelector: _cmd];
	} @catch (id e) {
		[self release];
		@throw e;
	}

	abort();
}

- initWithClass: (Class)class_
	   path: (OFString*)path_
	   mode: (mode_t)mode_
- initWithClass: (Class)class
	   path: (OFString*)path
	   mode: (mode_t)mode
{
	self = [super initWithClass: class_];
	self = [super initWithClass: class];

	@try {
		path  = [path_ copy];
		mode  = mode_;
		errNo = GET_ERRNO;
		_path  = [path copy];
		_mode  = mode;
		_errNo = GET_ERRNO;
	} @catch (id e) {
		[self release];
		@throw e;
	}

	return self;
}

- (void)dealloc
{
	[path release];
	[_path release];

	[super dealloc];
}

- (OFString*)description
{
	if (description != nil)
		return description;
	if (_description != nil)
		return _description;

	description = [[OFString alloc] initWithFormat:
	_description = [[OFString alloc] initWithFormat:
	    @"Failed to change mode for file %@ to %d in class %@! " ERRFMT,
	    path, mode, inClass, ERRPARAM];
	    _path, _mode, _inClass, ERRPARAM];

	return description;
	return _description;
}

- (int)errNo
{
	return errNo;
	return _errNo;
}

- (OFString*)path
{
	OF_GETTER(path, NO)
	OF_GETTER(_path, NO)
}

- (mode_t)mode
{
	return mode;
	return _mode;
}
@end