diff options
author | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2016-02-29 19:58:52 +0900 |
---|---|---|
committer | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2016-02-29 19:58:52 +0900 |
commit | 01406297a23201b3f99dfb316e7bb4e64b0472c3 (patch) | |
tree | 0fa52f39836c1b8b42d94161e5910a11a36e6733 /strutil.cc | |
parent | 07550475d31e64e76a12a689a6dd6de327849272 (diff) | |
download | kati-01406297a23201b3f99dfb316e7bb4e64b0472c3.tar.gz |
[C++] Finish FindEndOfLine at NULL characeter
Diffstat (limited to 'strutil.cc')
-rw-r--r-- | strutil.cc | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -424,10 +424,12 @@ size_t FindThreeOutsideParen(StringPiece s, char c1, char c2, char c3) { size_t FindEndOfLine(StringPiece s, size_t e, size_t* lf_cnt) { #ifdef __SSE4_2__ - static const char ranges[] = "\n\n\\\\"; + static const char ranges[] = "\0\0\n\n\\\\"; while (e < s.size()) { - e += SkipUntilSSE42(s.data() + e, s.size() - e, ranges, 4); + e += SkipUntilSSE42(s.data() + e, s.size() - e, ranges, 6); char c = s[e]; + if (c == '\0') + break; if (c == '\\') { if (s[e+1] == '\n') { e += 2; |