Coverage Report

Created: 2026-01-09 06:51

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
52.5k
static inline void cmark_chunk_free(cmark_chunk *c) {
21
52.5k
  c->data = NULL;
22
52.5k
  c->len = 0;
23
52.5k
}
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
52.5k
static inline void cmark_chunk_free(cmark_chunk *c) {
21
  c->data = NULL;
22
52.5k
  c->len = 0;
23
52.5k
}
Unexecuted instantiation: latex.c:cmark_chunk_free
Unexecuted instantiation: references.c:cmark_chunk_free
Unexecuted instantiation: scanners.c:cmark_chunk_free
24
25
10.7k
static inline void cmark_chunk_ltrim(cmark_chunk *c) {
26
10.8k
  while (c->len && cmark_isspace(c->data[0])) {
27
79
    c->data++;
28
79
    c->len--;
29
79
  }
30
10.7k
}
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
10.7k
static inline void cmark_chunk_ltrim(cmark_chunk *c) {
26
10.8k
  while (c->len && cmark_isspace(c->data[0])) {
27
79
    c->data++;
28
79
    c->len--;
29
79
  }
30
10.7k
}
Unexecuted instantiation: latex.c:cmark_chunk_ltrim
Unexecuted instantiation: references.c:cmark_chunk_ltrim
Unexecuted instantiation: scanners.c:cmark_chunk_ltrim
31
32
329k
static inline void cmark_chunk_rtrim(cmark_chunk *c) {
33
762k
  while (c->len > 0) {
34
761k
    if (!cmark_isspace(c->data[c->len - 1]))
35
327k
      break;
36
37
433k
    c->len--;
38
433k
  }
39
329k
}
blocks.c:cmark_chunk_rtrim
Line
Count
Source
32
393
static inline void cmark_chunk_rtrim(cmark_chunk *c) {
33
274k
  while (c->len > 0) {
34
274k
    if (!cmark_isspace(c->data[c->len - 1]))
35
393
      break;
36
37
273k
    c->len--;
38
273k
  }
39
393
}
Unexecuted instantiation: commonmark.c:cmark_chunk_rtrim
Unexecuted instantiation: html.c:cmark_chunk_rtrim
inlines.c:cmark_chunk_rtrim
Line
Count
Source
32
328k
static inline void cmark_chunk_rtrim(cmark_chunk *c) {
33
488k
  while (c->len > 0) {
34
486k
    if (!cmark_isspace(c->data[c->len - 1]))
35
327k
      break;
36
37
159k
    c->len--;
38
159k
  }
39
328k
}
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
10.7k
static inline void cmark_chunk_trim(cmark_chunk *c) {
43
10.7k
  cmark_chunk_ltrim(c);
44
10.7k
  cmark_chunk_rtrim(c);
45
10.7k
}
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
10.7k
static inline void cmark_chunk_trim(cmark_chunk *c) {
43
10.7k
  cmark_chunk_ltrim(c);
44
10.7k
  cmark_chunk_rtrim(c);
45
10.7k
}
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
392
                                           bufsize_t offset) {
50
392
  const unsigned char *p =
51
392
      (unsigned char *)memchr(ch->data + offset, c, ch->len - offset);
52
392
  return p ? (bufsize_t)(p - ch->data) : ch->len;
53
392
}
blocks.c:cmark_chunk_strchr
Line
Count
Source
49
392
                                           bufsize_t offset) {
50
392
  const unsigned char *p =
51
392
      (unsigned char *)memchr(ch->data + offset, c, ch->len - offset);
52
392
  return p ? (bufsize_t)(p - ch->data) : ch->len;
53
392
}
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
941k
static inline cmark_chunk cmark_chunk_literal(const char *data) {
57
941k
  bufsize_t len = data ? (bufsize_t)strlen(data) : 0;
58
941k
  cmark_chunk c = {(unsigned char *)data, len};
59
941k
  return c;
60
941k
}
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
934k
static inline cmark_chunk cmark_chunk_literal(const char *data) {
57
934k
  bufsize_t len = data ? (bufsize_t)strlen(data) : 0;
58
934k
  cmark_chunk c = {(unsigned char *)data, len};
59
934k
  return c;
60
934k
}
latex.c:cmark_chunk_literal
Line
Count
Source
56
6.86k
static inline cmark_chunk cmark_chunk_literal(const char *data) {
57
6.86k
  bufsize_t len = data ? (bufsize_t)strlen(data) : 0;
58
6.86k
  cmark_chunk c = {(unsigned char *)data, len};
59
6.86k
  return c;
60
6.86k
}
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
995k
                                          bufsize_t len) {
65
995k
  cmark_chunk c = {ch->data + pos, len};
66
995k
  return c;
67
995k
}
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
995k
                                          bufsize_t len) {
65
995k
  cmark_chunk c = {ch->data + pos, len};
66
995k
  return c;
67
995k
}
Unexecuted instantiation: latex.c:cmark_chunk_dup
Unexecuted instantiation: references.c:cmark_chunk_dup
Unexecuted instantiation: scanners.c:cmark_chunk_dup
68
69
#endif