︙ | | | ︙ | |
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
|
of_unichar_t *characters;
size_t searchLength;
if ((searchLength = string.length) == 0)
return OFMakeRange(0, 0);
if (searchLength > range.length)
return OFMakeRange(OF_NOT_FOUND, 0);
if (range.length > SIZE_MAX / sizeof(of_unichar_t))
@throw [OFOutOfRangeException exception];
pool = objc_autoreleasePoolPush();
searchCharacters = string.characters;
|
|
|
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
|
of_unichar_t *characters;
size_t searchLength;
if ((searchLength = string.length) == 0)
return OFMakeRange(0, 0);
if (searchLength > range.length)
return OFMakeRange(OFNotFound, 0);
if (range.length > SIZE_MAX / sizeof(of_unichar_t))
@throw [OFOutOfRangeException exception];
pool = objc_autoreleasePoolPush();
searchCharacters = string.characters;
|
︙ | | | ︙ | |
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
|
}
} @finally {
free(characters);
}
objc_autoreleasePoolPop(pool);
return OFMakeRange(OF_NOT_FOUND, 0);
}
- (size_t)indexOfCharacterFromSet: (OFCharacterSet *)characterSet
{
return [self indexOfCharacterFromSet: characterSet
options: 0
range: OFMakeRange(0, self.length)];
|
|
|
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
|
}
} @finally {
free(characters);
}
objc_autoreleasePoolPop(pool);
return OFMakeRange(OFNotFound, 0);
}
- (size_t)indexOfCharacterFromSet: (OFCharacterSet *)characterSet
{
return [self indexOfCharacterFromSet: characterSet
options: 0
range: OFMakeRange(0, self.length)];
|
︙ | | | ︙ | |
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
|
{
bool (*characterIsMember)(id, SEL, of_unichar_t) =
(bool (*)(id, SEL, of_unichar_t))[characterSet
methodForSelector: @selector(characterIsMember:)];
of_unichar_t *characters;
if (range.length == 0)
return OF_NOT_FOUND;
if (range.length > SIZE_MAX / sizeof(of_unichar_t))
@throw [OFOutOfRangeException exception];
characters = of_alloc(range.length, sizeof(of_unichar_t));
@try {
[self getCharacters: characters inRange: range];
|
|
|
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
|
{
bool (*characterIsMember)(id, SEL, of_unichar_t) =
(bool (*)(id, SEL, of_unichar_t))[characterSet
methodForSelector: @selector(characterIsMember:)];
of_unichar_t *characters;
if (range.length == 0)
return OFNotFound;
if (range.length > SIZE_MAX / sizeof(of_unichar_t))
@throw [OFOutOfRangeException exception];
characters = of_alloc(range.length, sizeof(of_unichar_t));
@try {
[self getCharacters: characters inRange: range];
|
︙ | | | ︙ | |
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
|
characters[i]))
return range.location + i;
}
} @finally {
free(characters);
}
return OF_NOT_FOUND;
}
- (bool)containsString: (OFString *)string
{
void *pool;
const of_unichar_t *characters, *searchCharacters;
size_t length, searchLength;
|
|
|
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
|
characters[i]))
return range.location + i;
}
} @finally {
free(characters);
}
return OFNotFound;
}
- (bool)containsString: (OFString *)string
{
void *pool;
const of_unichar_t *characters, *searchCharacters;
size_t length, searchLength;
|
︙ | | | ︙ | |