Coverage Report

Created: 2026-04-12 06:34

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/cmark/src/chunk.h
Line
Count
Source
1
#ifndef CMARK_CHUNK_H
2
#define CMARK_CHUNK_H
3
4
#include <string.h>
5
#include <stdlib.h>
6
#include <assert.h>
7
#include "cmark.h"
8
#include "buffer.h"
9
#include "cmark_ctype.h"
10
11
#define CMARK_CHUNK_EMPTY                                                      \
12
  { NULL, 0 }
13
14
typedef struct {
15
  const unsigned char *data;
16
  bufsize_t len;
17
} cmark_chunk;
18
19
// NOLINTNEXTLINE(clang-diagnostic-unused-function)
20
37.6k
static inline void cmark_chunk_free(cmark_chunk *c) {
21
37.6k
  c->data = NULL;
22
37.6k
  c->len = 0;
23
37.6k
}
Unexecuted instantiation: blocks.c:cmark_chunk_free
Unexecuted instantiation: commonmark.c:cmark_chunk_free
Unexecuted instantiation: html.c:cmark_chunk_free
inlines.c:cmark_chunk_free
Line
Count
Source
20
37.6k
static inline void cmark_chunk_free(cmark_chunk *c) {
21
  c->data = NULL;
22
37.6k
  c->len = 0;
23
37.6k
}
Unexecuted instantiation: latex.c:cmark_chunk_free
Unexecuted instantiation: references.c:cmark_chunk_free
Unexecuted instantiation: scanners.c:cmark_chunk_free
24
25
3.70k
static inline void cmark_chunk_ltrim(cmark_chunk *c) {
26
3.72k
  while (c->len && cmark_isspace(c->data[0])) {
27
17
    c->data++;
28
17
    c->len--;
29
17
  }
30
3.70k
}
Unexecuted instantiation: blocks.c:cmark_chunk_ltrim
Unexecuted instantiation: commonmark.c:cmark_chunk_ltrim
Unexecuted instantiation: html.c:cmark_chunk_ltrim
inlines.c:cmark_chunk_ltrim
Line
Count
Source
25
3.70k
static inline void cmark_chunk_ltrim(cmark_chunk *c) {
26
3.72k
  while (c->len && cmark_isspace(c->data[0])) {
27
17
    c->data++;
28
17
    c->len--;
29
17
  }
30
3.70k
}
Unexecuted instantiation: latex.c:cmark_chunk_ltrim
Unexecuted instantiation: references.c:cmark_chunk_ltrim
Unexecuted instantiation: scanners.c:cmark_chunk_ltrim
31
32
157k
static inline void cmark_chunk_rtrim(cmark_chunk *c) {
33
1.06M
  while (c->len > 0) {
34
1.06M
    if (!cmark_isspace(c->data[c->len - 1]))
35
156k
      break;
36
37
907k
    c->len--;
38
907k
  }
39
157k
}
blocks.c:cmark_chunk_rtrim
Line
Count
Source
32
127
static inline void cmark_chunk_rtrim(cmark_chunk *c) {
33
849k
  while (c->len > 0) {
34
849k
    if (!cmark_isspace(c->data[c->len - 1]))
35
127
      break;
36
37
849k
    c->len--;
38
849k
  }
39
127
}
Unexecuted instantiation: commonmark.c:cmark_chunk_rtrim
Unexecuted instantiation: html.c:cmark_chunk_rtrim
inlines.c:cmark_chunk_rtrim
Line
Count
Source
32
157k
static inline void cmark_chunk_rtrim(cmark_chunk *c) {
33
216k
  while (c->len > 0) {
34
214k
    if (!cmark_isspace(c->data[c->len - 1]))
35
155k
      break;
36
37
58.3k
    c->len--;
38
58.3k
  }
39
157k
}
Unexecuted instantiation: latex.c:cmark_chunk_rtrim
Unexecuted instantiation: references.c:cmark_chunk_rtrim
Unexecuted instantiation: scanners.c:cmark_chunk_rtrim
40
41
// NOLINTNEXTLINE(clang-diagnostic-unused-function)
42
3.70k
static inline void cmark_chunk_trim(cmark_chunk *c) {
43
3.70k
  cmark_chunk_ltrim(c);
44
3.70k
  cmark_chunk_rtrim(c);
45
3.70k
}
Unexecuted instantiation: blocks.c:cmark_chunk_trim
Unexecuted instantiation: commonmark.c:cmark_chunk_trim
Unexecuted instantiation: html.c:cmark_chunk_trim
inlines.c:cmark_chunk_trim
Line
Count
Source
42
3.70k
static inline void cmark_chunk_trim(cmark_chunk *c) {
43
3.70k
  cmark_chunk_ltrim(c);
44
3.70k
  cmark_chunk_rtrim(c);
45
3.70k
}
Unexecuted instantiation: latex.c:cmark_chunk_trim
Unexecuted instantiation: references.c:cmark_chunk_trim
Unexecuted instantiation: scanners.c:cmark_chunk_trim
46
47
// NOLINTNEXTLINE(clang-diagnostic-unused-function)
48
static inline bufsize_t cmark_chunk_strchr(cmark_chunk *ch, int c,
49
125
                                           bufsize_t offset) {
50
125
  const unsigned char *p =
51
125
      (unsigned char *)memchr(ch->data + offset, c, ch->len - offset);
52
125
  return p ? (bufsize_t)(p - ch->data) : ch->len;
53
125
}
blocks.c:cmark_chunk_strchr
Line
Count
Source
49
125
                                           bufsize_t offset) {
50
125
  const unsigned char *p =
51
125
      (unsigned char *)memchr(ch->data + offset, c, ch->len - offset);
52
125
  return p ? (bufsize_t)(p - ch->data) : ch->len;
53
125
}
Unexecuted instantiation: commonmark.c:cmark_chunk_strchr
Unexecuted instantiation: html.c:cmark_chunk_strchr
Unexecuted instantiation: inlines.c:cmark_chunk_strchr
Unexecuted instantiation: latex.c:cmark_chunk_strchr
Unexecuted instantiation: references.c:cmark_chunk_strchr
Unexecuted instantiation: scanners.c:cmark_chunk_strchr
54
55
// NOLINTNEXTLINE(clang-diagnostic-unused-function)
56
988k
static inline cmark_chunk cmark_chunk_literal(const char *data) {
57
988k
  bufsize_t len = data ? (bufsize_t)strlen(data) : 0;
58
988k
  cmark_chunk c = {(unsigned char *)data, len};
59
988k
  return c;
60
988k
}
Unexecuted instantiation: blocks.c:cmark_chunk_literal
Unexecuted instantiation: commonmark.c:cmark_chunk_literal
Unexecuted instantiation: html.c:cmark_chunk_literal
inlines.c:cmark_chunk_literal
Line
Count
Source
56
979k
static inline cmark_chunk cmark_chunk_literal(const char *data) {
57
979k
  bufsize_t len = data ? (bufsize_t)strlen(data) : 0;
58
979k
  cmark_chunk c = {(unsigned char *)data, len};
59
979k
  return c;
60
979k
}
latex.c:cmark_chunk_literal
Line
Count
Source
56
9.27k
static inline cmark_chunk cmark_chunk_literal(const char *data) {
57
9.27k
  bufsize_t len = data ? (bufsize_t)strlen(data) : 0;
58
9.27k
  cmark_chunk c = {(unsigned char *)data, len};
59
9.27k
  return c;
60
9.27k
}
Unexecuted instantiation: references.c:cmark_chunk_literal
Unexecuted instantiation: scanners.c:cmark_chunk_literal
61
62
// NOLINTNEXTLINE(clang-diagnostic-unused-function)
63
static inline cmark_chunk cmark_chunk_dup(const cmark_chunk *ch, bufsize_t pos,
64
936k
                                          bufsize_t len) {
65
936k
  cmark_chunk c = {ch->data + pos, len};
66
936k
  return c;
67
936k
}
Unexecuted instantiation: blocks.c:cmark_chunk_dup
Unexecuted instantiation: commonmark.c:cmark_chunk_dup
Unexecuted instantiation: html.c:cmark_chunk_dup
inlines.c:cmark_chunk_dup
Line
Count
Source
64
936k
                                          bufsize_t len) {
65
936k
  cmark_chunk c = {ch->data + pos, len};
66
936k
  return c;
67
936k
}
Unexecuted instantiation: latex.c:cmark_chunk_dup
Unexecuted instantiation: references.c:cmark_chunk_dup
Unexecuted instantiation: scanners.c:cmark_chunk_dup
68
69
#endif