aboutsummaryrefslogtreecommitdiff
path: root/strutil.cc
diff options
context:
space:
mode:
authorShinichiro Hamaji <shinichiro.hamaji@gmail.com>2016-02-29 19:58:52 +0900
committerShinichiro Hamaji <shinichiro.hamaji@gmail.com>2016-02-29 19:58:52 +0900
commit01406297a23201b3f99dfb316e7bb4e64b0472c3 (patch)
tree0fa52f39836c1b8b42d94161e5910a11a36e6733 /strutil.cc
parent07550475d31e64e76a12a689a6dd6de327849272 (diff)
downloadkati-01406297a23201b3f99dfb316e7bb4e64b0472c3.tar.gz
[C++] Finish FindEndOfLine at NULL characeter
Diffstat (limited to 'strutil.cc')
-rw-r--r--strutil.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/strutil.cc b/strutil.cc
index 43c8185..9d37052 100644
--- a/strutil.cc
+++ b/strutil.cc
@@ -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;