From: John Marshall Date: Wed, 20 Sep 2023 20:08:05 +0000 (+1200) Subject: Apply memchr optimisation in the general delimiter case too X-Git-Url: http://www.kaiwu.me/sitemap.xml?a=commitdiff_plain;h=f0d6c0fffc679e8ee49c2a9529b0c067b2326b47;p=klib.git Apply memchr optimisation in the general delimiter case too --- diff --git a/kseq.h b/kseq.h index 99c9ea2..81cc774 100644 --- a/kseq.h +++ b/kseq.h @@ -111,8 +111,8 @@ typedef struct __kstring_t { unsigned char *sep = memchr(ks->buf + ks->begin, '\n', ks->end - ks->begin); \ i = sep != NULL ? sep - ks->buf : ks->end; \ } else if (delimiter > KS_SEP_MAX) { \ - for (i = ks->begin; i < ks->end; ++i) \ - if (ks->buf[i] == delimiter) break; \ + unsigned char *sep = memchr(ks->buf + ks->begin, delimiter, ks->end - ks->begin); \ + i = sep != NULL ? sep - ks->buf : ks->end; \ } else if (delimiter == KS_SEP_SPACE) { \ for (i = ks->begin; i < ks->end; ++i) \ if (isspace(ks->buf[i])) break; \