ObjFW  Diff

Differences From Artifact [817ab9cf57]:

To Artifact [b267411948]:


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







-
+




-
+





-
+











-
-
-
-
+
+
+
+

-
+

-
-
-
-
+
+
+
+






-
+






-
-
+
+

-
-
+
+

-
+




-
+




-
+




-
+




-
+


#import "OFSeekFailedException.h"
#import "OFString.h"
#import "OFSeekableStream.h"

#import "common.h"

@implementation OFSeekFailedException
+ (instancetype)exceptionWithClass: (Class)class_
+ (instancetype)exceptionWithClass: (Class)class
			    stream: (OFSeekableStream*)stream
			    offset: (off_t)offset
			    whence: (int)whence
{
	return [[[self alloc] initWithClass: class_
	return [[[self alloc] initWithClass: class
				     stream: stream
				     offset: offset
				     whence: whence] autorelease];
}

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

	abort();
}

- initWithClass: (Class)class_
	 stream: (OFSeekableStream*)stream_
	 offset: (off_t)offset_
	 whence: (int)whence_
- initWithClass: (Class)class
	 stream: (OFSeekableStream*)stream
	 offset: (off_t)offset
	 whence: (int)whence
{
	self = [super initWithClass: class_];
	self = [super initWithClass: class];

	stream = [stream_ retain];
	offset = offset_;
	whence = whence_;
	errNo = GET_ERRNO;
	_stream = [stream retain];
	_offset = offset;
	_whence = whence;
	_errNo = GET_ERRNO;

	return self;
}

- (void)dealloc
{
	[stream	release];
	[_stream release];

	[super dealloc];
}

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

	description = [[OFString alloc] initWithFormat:
	    @"Seeking failed in class %@! " ERRFMT, inClass, ERRPARAM];
	_description = [[OFString alloc] initWithFormat:
	    @"Seeking failed in class %@! " ERRFMT, _inClass, ERRPARAM];

	return description;
	return _description;
}

- (OFSeekableStream*)stream
{
	OF_GETTER(stream, NO)
	OF_GETTER(_stream, NO)
}

- (off_t)offset
{
	return offset;
	return _offset;
}

- (int)whence
{
	return whence;
	return _whence;
}

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