98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
-
+
-
+
-
+
-
+
|
- (bool)lowlevelIsAtEndOfStream
{
return (_position == _size);
}
- (OFStreamOffset)lowlevelSeekToOffset: (OFStreamOffset)offset
whence: (int)whence
whence: (OFSeekWhence)whence
{
OFStreamOffset new;
switch (whence) {
case SEEK_SET:
case OFSeekSet:
new = offset;
break;
case SEEK_CUR:
case OFSeekCurrent:
new = (OFStreamOffset)_position + offset;
break;
case SEEK_END:
case OFSeekEnd:
new = (OFStreamOffset)_size + offset;
break;
default:
@throw [OFInvalidArgumentException exception];
}
if (new < 0 || new > (OFStreamOffset)_size)
|