Coverage Report

Created: 2026-05-30 06:37

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/pigeonhole/src/lib-sieve/sieve-stringlist.h
Line
Count
Source
1
#ifndef SIEVE_STRINGLIST_H
2
#define SIEVE_STRINGLIST_H
3
4
/*
5
 * Stringlist API
6
 */
7
8
struct sieve_stringlist {
9
  int (*next_item)(struct sieve_stringlist *strlist, string_t **str_r);
10
  void (*reset)(struct sieve_stringlist *strlist);
11
  int (*get_length)(struct sieve_stringlist *strlist);
12
13
  int (*read_all)(struct sieve_stringlist *strlist, pool_t pool,
14
      const char *const **list_r);
15
16
  void (*set_trace)(struct sieve_stringlist *strlist, bool trace);
17
18
  const struct sieve_runtime_env *runenv;
19
  int exec_status;
20
21
  bool trace:1;
22
};
23
24
static inline void
25
sieve_stringlist_set_trace(struct sieve_stringlist *strlist, bool trace)
26
0
{
27
0
  strlist->trace = trace;
28
29
0
  if (strlist->set_trace != NULL)
30
0
    strlist->set_trace(strlist, trace);
31
0
}
Unexecuted instantiation: testsuite-common.c:sieve_stringlist_set_trace
Unexecuted instantiation: testsuite-message.c:sieve_stringlist_set_trace
Unexecuted instantiation: testsuite-log.c:sieve_stringlist_set_trace
Unexecuted instantiation: testsuite-result.c:sieve_stringlist_set_trace
Unexecuted instantiation: cmd-test-message.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-test-multiscript.c:sieve_stringlist_set_trace
Unexecuted instantiation: sieve-message.c:sieve_stringlist_set_trace
Unexecuted instantiation: sieve-interpreter.c:sieve_stringlist_set_trace
Unexecuted instantiation: sieve-result.c:sieve_stringlist_set_trace
Unexecuted instantiation: sieve-address-parts.c:sieve_stringlist_set_trace
Unexecuted instantiation: sieve-address-source.c:sieve_stringlist_set_trace
Unexecuted instantiation: sieve-match.c:sieve_stringlist_set_trace
Unexecuted instantiation: sieve-code.c:sieve_stringlist_set_trace
Unexecuted instantiation: sieve-actions.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-address.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-header.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-exists.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-size.c:sieve_stringlist_set_trace
Unexecuted instantiation: cmd-keep.c:sieve_stringlist_set_trace
Unexecuted instantiation: cmd-redirect.c:sieve_stringlist_set_trace
Unexecuted instantiation: ext-fileinto.c:sieve_stringlist_set_trace
Unexecuted instantiation: ext-reject.c:sieve_stringlist_set_trace
Unexecuted instantiation: ext-envelope.c:sieve_stringlist_set_trace
Unexecuted instantiation: sieve.c:sieve_stringlist_set_trace
Unexecuted instantiation: ext-subaddress.c:sieve_stringlist_set_trace
Unexecuted instantiation: mcht-count.c:sieve_stringlist_set_trace
Unexecuted instantiation: mcht-regex.c:sieve_stringlist_set_trace
Unexecuted instantiation: tag-flags.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-hasflag.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-body.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-string.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-notify-method-capability.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-valid-notify-method.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-environment.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-mailboxexists.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-date.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-spamvirustest.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-ihave.c:sieve_stringlist_set_trace
Unexecuted instantiation: ext-index.c:sieve_stringlist_set_trace
Unexecuted instantiation: tag-index.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-metadata.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-metadataexists.c:sieve_stringlist_set_trace
Unexecuted instantiation: ext-extracttext.c:sieve_stringlist_set_trace
Unexecuted instantiation: ext-foreverypart.c:sieve_stringlist_set_trace
Unexecuted instantiation: ext-mime.c:sieve_stringlist_set_trace
Unexecuted instantiation: tag-mime.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-specialuse-exists.c:sieve_stringlist_set_trace
Unexecuted instantiation: mcht-list.c:sieve_stringlist_set_trace
Unexecuted instantiation: tst-valid-ext-list.c:sieve_stringlist_set_trace
Unexecuted instantiation: sieve-address.c:sieve_stringlist_set_trace
Unexecuted instantiation: sieve-stringlist.c:sieve_stringlist_set_trace
Unexecuted instantiation: cmd-vacation.c:sieve_stringlist_set_trace
Unexecuted instantiation: cmd-flag.c:sieve_stringlist_set_trace
Unexecuted instantiation: ext-imap4flags-common.c:sieve_stringlist_set_trace
Unexecuted instantiation: ext-body-common.c:sieve_stringlist_set_trace
Unexecuted instantiation: ext-enotify-common.c:sieve_stringlist_set_trace
Unexecuted instantiation: ntfy-mailto.c:sieve_stringlist_set_trace
Unexecuted instantiation: uri-mailto.c:sieve_stringlist_set_trace
Unexecuted instantiation: ext-date-common.c:sieve_stringlist_set_trace
Unexecuted instantiation: ext-spamvirustest-common.c:sieve_stringlist_set_trace
Unexecuted instantiation: cmd-addheader.c:sieve_stringlist_set_trace
Unexecuted instantiation: cmd-deleteheader.c:sieve_stringlist_set_trace
Unexecuted instantiation: ext-duplicate-common.c:sieve_stringlist_set_trace
Unexecuted instantiation: cmd-break.c:sieve_stringlist_set_trace
Unexecuted instantiation: cmd-extracttext.c:sieve_stringlist_set_trace
Unexecuted instantiation: cmd-foreverypart.c:sieve_stringlist_set_trace
Unexecuted instantiation: ext-mime-common.c:sieve_stringlist_set_trace
Unexecuted instantiation: ext-extlists-common.c:sieve_stringlist_set_trace
Unexecuted instantiation: cmd-report.c:sieve_stringlist_set_trace
32
33
static inline int
34
sieve_stringlist_next_item(struct sieve_stringlist *strlist, string_t **str_r)
35
0
{
36
0
  return strlist->next_item(strlist, str_r);
37
0
}
Unexecuted instantiation: testsuite-common.c:sieve_stringlist_next_item
Unexecuted instantiation: testsuite-message.c:sieve_stringlist_next_item
Unexecuted instantiation: testsuite-log.c:sieve_stringlist_next_item
Unexecuted instantiation: testsuite-result.c:sieve_stringlist_next_item
Unexecuted instantiation: cmd-test-message.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-test-multiscript.c:sieve_stringlist_next_item
Unexecuted instantiation: sieve-message.c:sieve_stringlist_next_item
Unexecuted instantiation: sieve-interpreter.c:sieve_stringlist_next_item
Unexecuted instantiation: sieve-result.c:sieve_stringlist_next_item
Unexecuted instantiation: sieve-address-parts.c:sieve_stringlist_next_item
Unexecuted instantiation: sieve-address-source.c:sieve_stringlist_next_item
Unexecuted instantiation: sieve-match.c:sieve_stringlist_next_item
Unexecuted instantiation: sieve-code.c:sieve_stringlist_next_item
Unexecuted instantiation: sieve-actions.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-address.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-header.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-exists.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-size.c:sieve_stringlist_next_item
Unexecuted instantiation: cmd-keep.c:sieve_stringlist_next_item
Unexecuted instantiation: cmd-redirect.c:sieve_stringlist_next_item
Unexecuted instantiation: ext-fileinto.c:sieve_stringlist_next_item
Unexecuted instantiation: ext-reject.c:sieve_stringlist_next_item
Unexecuted instantiation: ext-envelope.c:sieve_stringlist_next_item
Unexecuted instantiation: sieve.c:sieve_stringlist_next_item
Unexecuted instantiation: ext-subaddress.c:sieve_stringlist_next_item
Unexecuted instantiation: mcht-count.c:sieve_stringlist_next_item
Unexecuted instantiation: mcht-regex.c:sieve_stringlist_next_item
Unexecuted instantiation: tag-flags.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-hasflag.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-body.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-string.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-notify-method-capability.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-valid-notify-method.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-environment.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-mailboxexists.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-date.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-spamvirustest.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-ihave.c:sieve_stringlist_next_item
Unexecuted instantiation: ext-index.c:sieve_stringlist_next_item
Unexecuted instantiation: tag-index.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-metadata.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-metadataexists.c:sieve_stringlist_next_item
Unexecuted instantiation: ext-extracttext.c:sieve_stringlist_next_item
Unexecuted instantiation: ext-foreverypart.c:sieve_stringlist_next_item
Unexecuted instantiation: ext-mime.c:sieve_stringlist_next_item
Unexecuted instantiation: tag-mime.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-specialuse-exists.c:sieve_stringlist_next_item
Unexecuted instantiation: mcht-list.c:sieve_stringlist_next_item
Unexecuted instantiation: tst-valid-ext-list.c:sieve_stringlist_next_item
Unexecuted instantiation: sieve-address.c:sieve_stringlist_next_item
Unexecuted instantiation: sieve-stringlist.c:sieve_stringlist_next_item
Unexecuted instantiation: cmd-vacation.c:sieve_stringlist_next_item
Unexecuted instantiation: cmd-flag.c:sieve_stringlist_next_item
Unexecuted instantiation: ext-imap4flags-common.c:sieve_stringlist_next_item
Unexecuted instantiation: ext-body-common.c:sieve_stringlist_next_item
Unexecuted instantiation: ext-enotify-common.c:sieve_stringlist_next_item
Unexecuted instantiation: ntfy-mailto.c:sieve_stringlist_next_item
Unexecuted instantiation: uri-mailto.c:sieve_stringlist_next_item
Unexecuted instantiation: ext-date-common.c:sieve_stringlist_next_item
Unexecuted instantiation: ext-spamvirustest-common.c:sieve_stringlist_next_item
Unexecuted instantiation: cmd-addheader.c:sieve_stringlist_next_item
Unexecuted instantiation: cmd-deleteheader.c:sieve_stringlist_next_item
Unexecuted instantiation: ext-duplicate-common.c:sieve_stringlist_next_item
Unexecuted instantiation: cmd-break.c:sieve_stringlist_next_item
Unexecuted instantiation: cmd-extracttext.c:sieve_stringlist_next_item
Unexecuted instantiation: cmd-foreverypart.c:sieve_stringlist_next_item
Unexecuted instantiation: ext-mime-common.c:sieve_stringlist_next_item
Unexecuted instantiation: ext-extlists-common.c:sieve_stringlist_next_item
Unexecuted instantiation: cmd-report.c:sieve_stringlist_next_item
38
39
static inline void
40
sieve_stringlist_reset(struct sieve_stringlist *strlist)
41
0
{
42
0
  strlist->reset(strlist);
43
0
}
Unexecuted instantiation: testsuite-common.c:sieve_stringlist_reset
Unexecuted instantiation: testsuite-message.c:sieve_stringlist_reset
Unexecuted instantiation: testsuite-log.c:sieve_stringlist_reset
Unexecuted instantiation: testsuite-result.c:sieve_stringlist_reset
Unexecuted instantiation: cmd-test-message.c:sieve_stringlist_reset
Unexecuted instantiation: tst-test-multiscript.c:sieve_stringlist_reset
Unexecuted instantiation: sieve-message.c:sieve_stringlist_reset
Unexecuted instantiation: sieve-interpreter.c:sieve_stringlist_reset
Unexecuted instantiation: sieve-result.c:sieve_stringlist_reset
Unexecuted instantiation: sieve-address-parts.c:sieve_stringlist_reset
Unexecuted instantiation: sieve-address-source.c:sieve_stringlist_reset
Unexecuted instantiation: sieve-match.c:sieve_stringlist_reset
Unexecuted instantiation: sieve-code.c:sieve_stringlist_reset
Unexecuted instantiation: sieve-actions.c:sieve_stringlist_reset
Unexecuted instantiation: tst-address.c:sieve_stringlist_reset
Unexecuted instantiation: tst-header.c:sieve_stringlist_reset
Unexecuted instantiation: tst-exists.c:sieve_stringlist_reset
Unexecuted instantiation: tst-size.c:sieve_stringlist_reset
Unexecuted instantiation: cmd-keep.c:sieve_stringlist_reset
Unexecuted instantiation: cmd-redirect.c:sieve_stringlist_reset
Unexecuted instantiation: ext-fileinto.c:sieve_stringlist_reset
Unexecuted instantiation: ext-reject.c:sieve_stringlist_reset
Unexecuted instantiation: ext-envelope.c:sieve_stringlist_reset
Unexecuted instantiation: sieve.c:sieve_stringlist_reset
Unexecuted instantiation: ext-subaddress.c:sieve_stringlist_reset
Unexecuted instantiation: mcht-count.c:sieve_stringlist_reset
Unexecuted instantiation: mcht-regex.c:sieve_stringlist_reset
Unexecuted instantiation: tag-flags.c:sieve_stringlist_reset
Unexecuted instantiation: tst-hasflag.c:sieve_stringlist_reset
Unexecuted instantiation: tst-body.c:sieve_stringlist_reset
Unexecuted instantiation: tst-string.c:sieve_stringlist_reset
Unexecuted instantiation: tst-notify-method-capability.c:sieve_stringlist_reset
Unexecuted instantiation: tst-valid-notify-method.c:sieve_stringlist_reset
Unexecuted instantiation: tst-environment.c:sieve_stringlist_reset
Unexecuted instantiation: tst-mailboxexists.c:sieve_stringlist_reset
Unexecuted instantiation: tst-date.c:sieve_stringlist_reset
Unexecuted instantiation: tst-spamvirustest.c:sieve_stringlist_reset
Unexecuted instantiation: tst-ihave.c:sieve_stringlist_reset
Unexecuted instantiation: ext-index.c:sieve_stringlist_reset
Unexecuted instantiation: tag-index.c:sieve_stringlist_reset
Unexecuted instantiation: tst-metadata.c:sieve_stringlist_reset
Unexecuted instantiation: tst-metadataexists.c:sieve_stringlist_reset
Unexecuted instantiation: ext-extracttext.c:sieve_stringlist_reset
Unexecuted instantiation: ext-foreverypart.c:sieve_stringlist_reset
Unexecuted instantiation: ext-mime.c:sieve_stringlist_reset
Unexecuted instantiation: tag-mime.c:sieve_stringlist_reset
Unexecuted instantiation: tst-specialuse-exists.c:sieve_stringlist_reset
Unexecuted instantiation: mcht-list.c:sieve_stringlist_reset
Unexecuted instantiation: tst-valid-ext-list.c:sieve_stringlist_reset
Unexecuted instantiation: sieve-address.c:sieve_stringlist_reset
Unexecuted instantiation: sieve-stringlist.c:sieve_stringlist_reset
Unexecuted instantiation: cmd-vacation.c:sieve_stringlist_reset
Unexecuted instantiation: cmd-flag.c:sieve_stringlist_reset
Unexecuted instantiation: ext-imap4flags-common.c:sieve_stringlist_reset
Unexecuted instantiation: ext-body-common.c:sieve_stringlist_reset
Unexecuted instantiation: ext-enotify-common.c:sieve_stringlist_reset
Unexecuted instantiation: ntfy-mailto.c:sieve_stringlist_reset
Unexecuted instantiation: uri-mailto.c:sieve_stringlist_reset
Unexecuted instantiation: ext-date-common.c:sieve_stringlist_reset
Unexecuted instantiation: ext-spamvirustest-common.c:sieve_stringlist_reset
Unexecuted instantiation: cmd-addheader.c:sieve_stringlist_reset
Unexecuted instantiation: cmd-deleteheader.c:sieve_stringlist_reset
Unexecuted instantiation: ext-duplicate-common.c:sieve_stringlist_reset
Unexecuted instantiation: cmd-break.c:sieve_stringlist_reset
Unexecuted instantiation: cmd-extracttext.c:sieve_stringlist_reset
Unexecuted instantiation: cmd-foreverypart.c:sieve_stringlist_reset
Unexecuted instantiation: ext-mime-common.c:sieve_stringlist_reset
Unexecuted instantiation: ext-extlists-common.c:sieve_stringlist_reset
Unexecuted instantiation: cmd-report.c:sieve_stringlist_reset
44
45
int sieve_stringlist_get_length(struct sieve_stringlist *strlist);
46
47
int sieve_stringlist_read_all(struct sieve_stringlist *strlist, pool_t pool,
48
            const char *const **list_r);
49
50
/*
51
 * Single Stringlist
52
 */
53
54
struct sieve_stringlist *
55
sieve_single_stringlist_create(const struct sieve_runtime_env *renv,
56
             string_t *str, bool count_empty);
57
struct sieve_stringlist *
58
sieve_single_stringlist_create_cstr(const struct sieve_runtime_env *renv,
59
            const char *cstr, bool count_empty);
60
61
/*
62
 * Index Stringlist
63
 */
64
65
struct sieve_stringlist *
66
sieve_index_stringlist_create(const struct sieve_runtime_env *renv,
67
            struct sieve_stringlist *source, int index);
68
69
#endif