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
|
return [[[self alloc] initWithItemSize: is] autorelease];
}
+ dataArrayWithContentsOfFile: (OFString*)path
{
return [[[self alloc] initWithContentsOfFile: path] autorelease];
}
- init
{
Class c = isa;
[self release];
@throw [OFNotImplementedException newWithClass: c
selector: _cmd];
}
- initWithItemSize: (size_t)is
{
self = [super init];
@try {
if (is == 0)
@throw [OFInvalidArgumentException newWithClass: isa
selector: _cmd];
data = NULL;
itemSize = is;
} @catch (id e) {
[self release];
@throw e;
}
return self;
}
- initWithContentsOfFile: (OFString*)path
{
self = [super init];
@try {
OFFile *file = [[OFFile alloc] initWithPath: path
mode: @"rb"];
itemSize = 1;
@try {
char *buf = [self allocMemoryWithSize: of_pagesize];
while (![file isAtEndOfStream]) {
size_t size;
|
>
>
>
>
>
<
>
>
>
|
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
|
return [[[self alloc] initWithItemSize: is] autorelease];
}
+ dataArrayWithContentsOfFile: (OFString*)path
{
return [[[self alloc] initWithContentsOfFile: path] autorelease];
}
+ dataArrayWithBase64EncodedString: (OFString*)str
{
return [[[self alloc] initWithBase64EncodedString: str] autorelease];
}
- init
{
Class c = isa;
[self release];
@throw [OFNotImplementedException newWithClass: c
selector: _cmd];
}
- initWithItemSize: (size_t)is
{
self = [super init];
@try {
if (is == 0)
@throw [OFInvalidArgumentException newWithClass: isa
selector: _cmd];
itemSize = is;
data = NULL;
} @catch (id e) {
[self release];
@throw e;
}
return self;
}
- initWithContentsOfFile: (OFString*)path
{
self = [super init];
@try {
OFFile *file = [[OFFile alloc] initWithPath: path
mode: @"rb"];
itemSize = 1;
data = NULL;
@try {
char *buf = [self allocMemoryWithSize: of_pagesize];
while (![file isAtEndOfStream]) {
size_t size;
|
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
} @finally {
[file release];
}
} @catch (id e) {
[self release];
@throw e;
}
return self;
}
- (size_t)count
{
return count;
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
} @finally {
[file release];
}
} @catch (id e) {
[self release];
@throw e;
}
return self;
}
- initWithBase64EncodedString: (OFString*)str
{
self = [super init];
itemSize = 1;
data = NULL;
if (!of_base64_decode(self, [str cString], [str cStringLength])) {
Class c = isa;
[self release];
@throw [OFInvalidEncodingException newWithClass: c];
}
return self;
}
- (size_t)count
{
return count;
|