File tree Expand file tree Collapse file tree 2 files changed +6
-5
lines changed Expand file tree Collapse file tree 2 files changed +6
-5
lines changed Original file line number Diff line number Diff line change @@ -107,12 +107,12 @@ typedef struct __kstring_t {
107
107
if (ks->end == -1) { ks->is_eof = 1; return -3; } \
108
108
} else break; \
109
109
} \
110
- if (delimiter == KS_SEP_LINE) { \
111
- for (i = ks->begin; i < ks->end; ++i) \
112
- if ( ks->buf[i] == '\n') break; \
110
+ if (delimiter == KS_SEP_LINE) { \
111
+ unsigned char *sep = memchr( ks->buf + ks->begin, '\n', ks->end - ks->begin); \
112
+ i = sep != NULL ? sep - ks->buf : ks->end; \
113
113
} else if (delimiter > KS_SEP_MAX) { \
114
- for (i = ks->begin; i < ks->end; ++i) \
115
- if ( ks->buf[i] == delimiter) break; \
114
+ unsigned char *sep = memchr( ks->buf + ks->begin, delimiter, ks->end - ks->begin); \
115
+ i = sep != NULL ? sep - ks->buf : ks->end; \
116
116
} else if (delimiter == KS_SEP_SPACE) { \
117
117
for (i = ks->begin; i < ks->end; ++i) \
118
118
if (isspace(ks->buf[i])) break; \
Original file line number Diff line number Diff line change 3
3
#include <stdint.h>
4
4
#include <stdlib.h>
5
5
#include <fcntl.h>
6
+ #include <unistd.h>
6
7
#include "kseq.h"
7
8
KSTREAM_INIT (int , read , 4096 )
8
9
You can’t perform that action at this time.
0 commit comments