56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
[super free];
return nil;
}
string = [self getMemForNItems: length + 1
ofSize: sizeof(wchar_t)];
if (mbstowcs(string, str, length) != length) {
[super free];
return nil;
}
}
}
return self;
|
|
|
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
[super free];
return nil;
}
string = [self getMemForNItems: length + 1
ofSize: sizeof(wchar_t)];
if (mbstowcs(string, str, length + 1) != length) {
[super free];
return nil;
}
}
}
return self;
|
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
size_t len;
if ((len = wcstombs(NULL, string, 0)) == (size_t)-1) {
/* FIXME: Throw exception */
return NULL;
}
str = [self getMemWithSize: len];
if (wcstombs(str, string, len) != len) {
/* FIXME: Throw exception */
[self freeMem: str];
return NULL;
}
return str;
}
|
|
|
|
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
size_t len;
if ((len = wcstombs(NULL, string, 0)) == (size_t)-1) {
/* FIXME: Throw exception */
return NULL;
}
str = [self getMemWithSize: len + 1];
if (wcstombs(str, string, len + 1) != len) {
/* FIXME: Throw exception */
[self freeMem: str];
return NULL;
}
return str;
}
|