| Index: compiled/String.h | 
| =================================================================== | 
| --- a/compiled/String.h | 
| +++ b/compiled/String.h | 
| @@ -134,26 +134,31 @@ | 
| for (size_type i = pos; i < length(); ++i) | 
| if (mBuf[i] == c) | 
| return i; | 
| return npos; | 
| } | 
|  | 
| size_type find(const String& str, size_type pos = 0) const | 
| { | 
| -    if (pos > LENGTH_MASK || pos + str.length() > length()) | 
| +    return find(str.mBuf, pos, str.length()); | 
| +  } | 
| + | 
| +  size_type find(const value_type* str, size_type pos, size_type count) const | 
| +  { | 
| +    if (pos > LENGTH_MASK || pos + count > length()) | 
| return npos; | 
|  | 
| -    if (!str.length()) | 
| +    if (!count) | 
| return pos; | 
|  | 
| -    for (; pos + str.length() <= length(); ++pos) | 
| +    for (; pos + count <= length(); ++pos) | 
| { | 
| if (mBuf[pos] == str[0] && | 
| -          std::memcmp(mBuf + pos, str.mBuf, sizeof(value_type) * str.length()) == 0) | 
| +          std::memcmp(mBuf + pos, str, sizeof(value_type) * count) == 0) | 
| { | 
| return pos; | 
| } | 
| } | 
|  | 
| return npos; | 
| } | 
|  | 
|  |