Coverage Report

Created: 2026-05-16 06:58

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/pigeonhole/src/lib-sieve/sieve-code.h
Line
Count
Source
1
#ifndef SIEVE_CODE_H
2
#define SIEVE_CODE_H
3
4
#include "lib.h"
5
#include "buffer.h"
6
#include "mempool.h"
7
#include "array.h"
8
9
#include "sieve-common.h"
10
#include "sieve-runtime.h"
11
#include "sieve-runtime-trace.h"
12
#include "sieve-dump.h"
13
14
/*
15
 * Operand object
16
 */
17
18
struct sieve_operand_class {
19
  const char *name;
20
};
21
22
struct sieve_operand_def {
23
  const char *name;
24
25
  const struct sieve_extension_def *ext_def;
26
  unsigned int code;
27
28
  const struct sieve_operand_class *class;
29
  const void *interface;
30
};
31
32
struct sieve_operand {
33
  const struct sieve_operand_def *def;
34
  const struct sieve_extension *ext;
35
  sieve_size_t address;
36
  const char *field_name;
37
};
38
39
#define sieve_operand_name(opr) \
40
0
  ((opr)->def == NULL ? "(NULL)" : (opr)->def->name)
41
#define sieve_operand_is(opr, definition) \
42
0
  ((opr)->def == &(definition))
43
44
sieve_size_t
45
sieve_operand_emit(struct sieve_binary_block *sblock,
46
       const struct sieve_extension *ext,
47
       const struct sieve_operand_def *oprnd);
48
bool sieve_operand_read(struct sieve_binary_block *sblock,
49
      sieve_size_t *address, const char *field_name,
50
      struct sieve_operand *oprnd);
51
52
static inline int
53
sieve_operand_runtime_read(const struct sieve_runtime_env *renv,
54
         sieve_size_t *address, const char *field_name,
55
         struct sieve_operand *operand)
56
0
{
57
0
  if (!sieve_operand_read(renv->sblock, address, field_name, operand)) {
58
0
    sieve_runtime_trace_operand_error(renv, operand,
59
0
              "invalid operand");
60
0
    return SIEVE_EXEC_BIN_CORRUPT;
61
0
  }
62
0
  return SIEVE_EXEC_OK;
63
0
}
Unexecuted instantiation: testsuite-common.c:sieve_operand_runtime_read
Unexecuted instantiation: testsuite-objects.c:sieve_operand_runtime_read
Unexecuted instantiation: testsuite-substitutions.c:sieve_operand_runtime_read
Unexecuted instantiation: testsuite-variables.c:sieve_operand_runtime_read
Unexecuted instantiation: testsuite-arguments.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-test.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-test-fail.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-test-config.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-test-set.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-test-result.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-test-message.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-test-mailbox.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-test-binary.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-test-imap-metadata.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-test-script-compile.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-test-script-run.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-test-multiscript.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-test-error.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-test-result-action.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-test-result-execute.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-testsuite.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-message.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-binary.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-binary-file.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-binary-code.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-validator.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-generator.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-interpreter.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-runtime-trace.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-code-dumper.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-objects.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-comparators.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-match-types.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-address-parts.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-match.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-commands.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-code.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-actions.c:sieve_operand_runtime_read
Unexecuted instantiation: cmp-i-octet.c:sieve_operand_runtime_read
Unexecuted instantiation: cmp-i-ascii-casemap.c:sieve_operand_runtime_read
Unexecuted instantiation: cmp-i-unicode-casemap.c:sieve_operand_runtime_read
Unexecuted instantiation: mcht-is.c:sieve_operand_runtime_read
Unexecuted instantiation: mcht-contains.c:sieve_operand_runtime_read
Unexecuted instantiation: mcht-matches.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-truefalse.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-anyof.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-allof.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-address.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-header.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-exists.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-size.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-stop.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-if.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-keep.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-redirect.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-discard.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-fileinto.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-reject.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-envelope.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-subaddress.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-cmp-i-ascii-numeric.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-relational.c:sieve_operand_runtime_read
Unexecuted instantiation: mcht-count.c:sieve_operand_runtime_read
Unexecuted instantiation: mcht-value.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-regex.c:sieve_operand_runtime_read
Unexecuted instantiation: mcht-regex.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-copy.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-imap4flags.c:sieve_operand_runtime_read
Unexecuted instantiation: tag-flags.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-hasflag.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-include.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-body.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-body.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-variables-namespaces.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-variables.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-string.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-enotify.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-notify-method-capability.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-valid-notify-method.c:sieve_operand_runtime_read
Unexecuted instantiation: vmodf-encodeurl.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-environment.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-mailbox.c:sieve_operand_runtime_read
Unexecuted instantiation: tag-mailbox-create.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-mailboxexists.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-date.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-date.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-spamvirustest.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-ihave.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-ihave.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-editheader.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-duplicate.c:sieve_operand_runtime_read
Unexecuted instantiation: tag-index.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-metadata.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-metadataexists.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-extracttext.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-foreverypart.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-mime.c:sieve_operand_runtime_read
Unexecuted instantiation: tag-mime.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-special-use.c:sieve_operand_runtime_read
Unexecuted instantiation: tag-specialuse.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-specialuse-exists.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-extlists.c:sieve_operand_runtime_read
Unexecuted instantiation: mcht-list.c:sieve_operand_runtime_read
Unexecuted instantiation: tag-redirect-list.c:sieve_operand_runtime_read
Unexecuted instantiation: tst-valid-ext-list.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-debug.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-vnd-environment.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-vnd-report.c:sieve_operand_runtime_read
Unexecuted instantiation: sieve-binary-debug.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-vacation.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-relational-common.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-regex-common.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-flag.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-imap4flags-common.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-global.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-include.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-return.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-include-binary.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-include-common.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-include-variables.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-body-common.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-set.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-variables-arguments.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-variables-common.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-variables-dump.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-variables-modifiers.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-variables-name.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-variables-operands.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-notify.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-enotify-common.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-date-common.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-error.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-addheader.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-deleteheader.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-duplicate-common.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-break.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-extracttext.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-foreverypart.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-extlists-common.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-debug-log.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-vnd-environment-items.c:sieve_operand_runtime_read
Unexecuted instantiation: ext-vnd-environment-variables.c:sieve_operand_runtime_read
Unexecuted instantiation: cmd-report.c:sieve_operand_runtime_read
64
65
/*
66
 * Optional operands
67
 */
68
69
int sieve_opr_optional_next(struct sieve_binary_block *sblock,
70
          sieve_size_t *address, signed int *opt_code);
71
72
static inline int
73
sieve_opr_optional_dump(const struct sieve_dumptime_env *denv,
74
      sieve_size_t *address, signed int *opt_code)
75
0
{
76
0
  sieve_size_t pc = *address;
77
0
  int ret;
78
79
0
  if ((ret = sieve_opr_optional_next(denv->sblock, address,
80
0
             opt_code)) <= 0)
81
0
    return ret;
82
83
0
  sieve_code_mark_specific(denv, pc);
84
0
  return ret;
85
0
}
Unexecuted instantiation: testsuite-common.c:sieve_opr_optional_dump
Unexecuted instantiation: testsuite-objects.c:sieve_opr_optional_dump
Unexecuted instantiation: testsuite-substitutions.c:sieve_opr_optional_dump
Unexecuted instantiation: testsuite-variables.c:sieve_opr_optional_dump
Unexecuted instantiation: testsuite-arguments.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-test.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-test-fail.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-test-config.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-test-set.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-test-result.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-test-message.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-test-mailbox.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-test-binary.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-test-imap-metadata.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-test-script-compile.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-test-script-run.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-test-multiscript.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-test-error.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-test-result-action.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-test-result-execute.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-testsuite.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-message.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-binary.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-binary-file.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-binary-code.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-validator.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-generator.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-interpreter.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-runtime-trace.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-code-dumper.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-objects.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-comparators.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-match-types.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-address-parts.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-match.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-commands.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-code.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-actions.c:sieve_opr_optional_dump
Unexecuted instantiation: cmp-i-octet.c:sieve_opr_optional_dump
Unexecuted instantiation: cmp-i-ascii-casemap.c:sieve_opr_optional_dump
Unexecuted instantiation: cmp-i-unicode-casemap.c:sieve_opr_optional_dump
Unexecuted instantiation: mcht-is.c:sieve_opr_optional_dump
Unexecuted instantiation: mcht-contains.c:sieve_opr_optional_dump
Unexecuted instantiation: mcht-matches.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-truefalse.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-anyof.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-allof.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-address.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-header.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-exists.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-size.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-stop.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-if.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-keep.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-redirect.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-discard.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-fileinto.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-reject.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-envelope.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-subaddress.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-cmp-i-ascii-numeric.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-relational.c:sieve_opr_optional_dump
Unexecuted instantiation: mcht-count.c:sieve_opr_optional_dump
Unexecuted instantiation: mcht-value.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-regex.c:sieve_opr_optional_dump
Unexecuted instantiation: mcht-regex.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-copy.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-imap4flags.c:sieve_opr_optional_dump
Unexecuted instantiation: tag-flags.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-hasflag.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-include.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-body.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-body.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-variables-namespaces.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-variables.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-string.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-enotify.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-notify-method-capability.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-valid-notify-method.c:sieve_opr_optional_dump
Unexecuted instantiation: vmodf-encodeurl.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-environment.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-mailbox.c:sieve_opr_optional_dump
Unexecuted instantiation: tag-mailbox-create.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-mailboxexists.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-date.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-date.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-spamvirustest.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-ihave.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-ihave.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-editheader.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-duplicate.c:sieve_opr_optional_dump
Unexecuted instantiation: tag-index.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-metadata.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-metadataexists.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-extracttext.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-foreverypart.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-mime.c:sieve_opr_optional_dump
Unexecuted instantiation: tag-mime.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-special-use.c:sieve_opr_optional_dump
Unexecuted instantiation: tag-specialuse.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-specialuse-exists.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-extlists.c:sieve_opr_optional_dump
Unexecuted instantiation: mcht-list.c:sieve_opr_optional_dump
Unexecuted instantiation: tag-redirect-list.c:sieve_opr_optional_dump
Unexecuted instantiation: tst-valid-ext-list.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-debug.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-vnd-environment.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-vnd-report.c:sieve_opr_optional_dump
Unexecuted instantiation: sieve-binary-debug.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-vacation.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-relational-common.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-regex-common.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-flag.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-imap4flags-common.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-global.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-include.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-return.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-include-binary.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-include-common.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-include-variables.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-body-common.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-set.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-variables-arguments.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-variables-common.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-variables-dump.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-variables-modifiers.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-variables-name.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-variables-operands.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-notify.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-enotify-common.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-date-common.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-error.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-addheader.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-deleteheader.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-duplicate-common.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-break.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-extracttext.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-foreverypart.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-extlists-common.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-debug-log.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-vnd-environment-items.c:sieve_opr_optional_dump
Unexecuted instantiation: ext-vnd-environment-variables.c:sieve_opr_optional_dump
Unexecuted instantiation: cmd-report.c:sieve_opr_optional_dump
86
87
static inline int
88
sieve_opr_optional_read(const struct sieve_runtime_env *renv,
89
      sieve_size_t *address, signed int *opt_code)
90
0
{
91
0
  int ret;
92
93
0
  if ((ret = sieve_opr_optional_next(renv->sblock, address,
94
0
             opt_code)) < 0) {
95
0
    sieve_runtime_trace_error(
96
0
      renv, "invalid optional operand code");
97
0
  }
98
0
  return ret;
99
0
}
Unexecuted instantiation: testsuite-common.c:sieve_opr_optional_read
Unexecuted instantiation: testsuite-objects.c:sieve_opr_optional_read
Unexecuted instantiation: testsuite-substitutions.c:sieve_opr_optional_read
Unexecuted instantiation: testsuite-variables.c:sieve_opr_optional_read
Unexecuted instantiation: testsuite-arguments.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-test.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-test-fail.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-test-config.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-test-set.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-test-result.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-test-message.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-test-mailbox.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-test-binary.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-test-imap-metadata.c:sieve_opr_optional_read
Unexecuted instantiation: tst-test-script-compile.c:sieve_opr_optional_read
Unexecuted instantiation: tst-test-script-run.c:sieve_opr_optional_read
Unexecuted instantiation: tst-test-multiscript.c:sieve_opr_optional_read
Unexecuted instantiation: tst-test-error.c:sieve_opr_optional_read
Unexecuted instantiation: tst-test-result-action.c:sieve_opr_optional_read
Unexecuted instantiation: tst-test-result-execute.c:sieve_opr_optional_read
Unexecuted instantiation: ext-testsuite.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-message.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-binary.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-binary-file.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-binary-code.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-validator.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-generator.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-interpreter.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-runtime-trace.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-code-dumper.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-objects.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-comparators.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-match-types.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-address-parts.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-match.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-commands.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-code.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-actions.c:sieve_opr_optional_read
Unexecuted instantiation: cmp-i-octet.c:sieve_opr_optional_read
Unexecuted instantiation: cmp-i-ascii-casemap.c:sieve_opr_optional_read
Unexecuted instantiation: cmp-i-unicode-casemap.c:sieve_opr_optional_read
Unexecuted instantiation: mcht-is.c:sieve_opr_optional_read
Unexecuted instantiation: mcht-contains.c:sieve_opr_optional_read
Unexecuted instantiation: mcht-matches.c:sieve_opr_optional_read
Unexecuted instantiation: tst-truefalse.c:sieve_opr_optional_read
Unexecuted instantiation: tst-anyof.c:sieve_opr_optional_read
Unexecuted instantiation: tst-allof.c:sieve_opr_optional_read
Unexecuted instantiation: tst-address.c:sieve_opr_optional_read
Unexecuted instantiation: tst-header.c:sieve_opr_optional_read
Unexecuted instantiation: tst-exists.c:sieve_opr_optional_read
Unexecuted instantiation: tst-size.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-stop.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-if.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-keep.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-redirect.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-discard.c:sieve_opr_optional_read
Unexecuted instantiation: ext-fileinto.c:sieve_opr_optional_read
Unexecuted instantiation: ext-reject.c:sieve_opr_optional_read
Unexecuted instantiation: ext-envelope.c:sieve_opr_optional_read
Unexecuted instantiation: ext-subaddress.c:sieve_opr_optional_read
Unexecuted instantiation: ext-cmp-i-ascii-numeric.c:sieve_opr_optional_read
Unexecuted instantiation: ext-relational.c:sieve_opr_optional_read
Unexecuted instantiation: mcht-count.c:sieve_opr_optional_read
Unexecuted instantiation: mcht-value.c:sieve_opr_optional_read
Unexecuted instantiation: ext-regex.c:sieve_opr_optional_read
Unexecuted instantiation: mcht-regex.c:sieve_opr_optional_read
Unexecuted instantiation: ext-copy.c:sieve_opr_optional_read
Unexecuted instantiation: ext-imap4flags.c:sieve_opr_optional_read
Unexecuted instantiation: tag-flags.c:sieve_opr_optional_read
Unexecuted instantiation: tst-hasflag.c:sieve_opr_optional_read
Unexecuted instantiation: ext-include.c:sieve_opr_optional_read
Unexecuted instantiation: ext-body.c:sieve_opr_optional_read
Unexecuted instantiation: tst-body.c:sieve_opr_optional_read
Unexecuted instantiation: ext-variables-namespaces.c:sieve_opr_optional_read
Unexecuted instantiation: ext-variables.c:sieve_opr_optional_read
Unexecuted instantiation: tst-string.c:sieve_opr_optional_read
Unexecuted instantiation: ext-enotify.c:sieve_opr_optional_read
Unexecuted instantiation: tst-notify-method-capability.c:sieve_opr_optional_read
Unexecuted instantiation: tst-valid-notify-method.c:sieve_opr_optional_read
Unexecuted instantiation: vmodf-encodeurl.c:sieve_opr_optional_read
Unexecuted instantiation: tst-environment.c:sieve_opr_optional_read
Unexecuted instantiation: ext-mailbox.c:sieve_opr_optional_read
Unexecuted instantiation: tag-mailbox-create.c:sieve_opr_optional_read
Unexecuted instantiation: tst-mailboxexists.c:sieve_opr_optional_read
Unexecuted instantiation: ext-date.c:sieve_opr_optional_read
Unexecuted instantiation: tst-date.c:sieve_opr_optional_read
Unexecuted instantiation: tst-spamvirustest.c:sieve_opr_optional_read
Unexecuted instantiation: ext-ihave.c:sieve_opr_optional_read
Unexecuted instantiation: tst-ihave.c:sieve_opr_optional_read
Unexecuted instantiation: ext-editheader.c:sieve_opr_optional_read
Unexecuted instantiation: tst-duplicate.c:sieve_opr_optional_read
Unexecuted instantiation: tag-index.c:sieve_opr_optional_read
Unexecuted instantiation: tst-metadata.c:sieve_opr_optional_read
Unexecuted instantiation: tst-metadataexists.c:sieve_opr_optional_read
Unexecuted instantiation: ext-extracttext.c:sieve_opr_optional_read
Unexecuted instantiation: ext-foreverypart.c:sieve_opr_optional_read
Unexecuted instantiation: ext-mime.c:sieve_opr_optional_read
Unexecuted instantiation: tag-mime.c:sieve_opr_optional_read
Unexecuted instantiation: ext-special-use.c:sieve_opr_optional_read
Unexecuted instantiation: tag-specialuse.c:sieve_opr_optional_read
Unexecuted instantiation: tst-specialuse-exists.c:sieve_opr_optional_read
Unexecuted instantiation: ext-extlists.c:sieve_opr_optional_read
Unexecuted instantiation: mcht-list.c:sieve_opr_optional_read
Unexecuted instantiation: tag-redirect-list.c:sieve_opr_optional_read
Unexecuted instantiation: tst-valid-ext-list.c:sieve_opr_optional_read
Unexecuted instantiation: ext-debug.c:sieve_opr_optional_read
Unexecuted instantiation: ext-vnd-environment.c:sieve_opr_optional_read
Unexecuted instantiation: ext-vnd-report.c:sieve_opr_optional_read
Unexecuted instantiation: sieve-binary-debug.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-vacation.c:sieve_opr_optional_read
Unexecuted instantiation: ext-relational-common.c:sieve_opr_optional_read
Unexecuted instantiation: ext-regex-common.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-flag.c:sieve_opr_optional_read
Unexecuted instantiation: ext-imap4flags-common.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-global.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-include.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-return.c:sieve_opr_optional_read
Unexecuted instantiation: ext-include-binary.c:sieve_opr_optional_read
Unexecuted instantiation: ext-include-common.c:sieve_opr_optional_read
Unexecuted instantiation: ext-include-variables.c:sieve_opr_optional_read
Unexecuted instantiation: ext-body-common.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-set.c:sieve_opr_optional_read
Unexecuted instantiation: ext-variables-arguments.c:sieve_opr_optional_read
Unexecuted instantiation: ext-variables-common.c:sieve_opr_optional_read
Unexecuted instantiation: ext-variables-dump.c:sieve_opr_optional_read
Unexecuted instantiation: ext-variables-modifiers.c:sieve_opr_optional_read
Unexecuted instantiation: ext-variables-name.c:sieve_opr_optional_read
Unexecuted instantiation: ext-variables-operands.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-notify.c:sieve_opr_optional_read
Unexecuted instantiation: ext-enotify-common.c:sieve_opr_optional_read
Unexecuted instantiation: ext-date-common.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-error.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-addheader.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-deleteheader.c:sieve_opr_optional_read
Unexecuted instantiation: ext-duplicate-common.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-break.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-extracttext.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-foreverypart.c:sieve_opr_optional_read
Unexecuted instantiation: ext-extlists-common.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-debug-log.c:sieve_opr_optional_read
Unexecuted instantiation: ext-vnd-environment-items.c:sieve_opr_optional_read
Unexecuted instantiation: ext-vnd-environment-variables.c:sieve_opr_optional_read
Unexecuted instantiation: cmd-report.c:sieve_opr_optional_read
100
101
/*
102
 * Core operands
103
 */
104
105
/* Operand codes */
106
107
enum sieve_core_operand {
108
  SIEVE_OPERAND_OPTIONAL = 0x00,
109
  SIEVE_OPERAND_NUMBER,
110
  SIEVE_OPERAND_STRING,
111
  SIEVE_OPERAND_STRING_LIST,
112
  SIEVE_OPERAND_COMPARATOR,
113
  SIEVE_OPERAND_MATCH_TYPE,
114
  SIEVE_OPERAND_ADDRESS_PART,
115
  SIEVE_OPERAND_CATENATED_STRING,
116
117
  SIEVE_OPERAND_CUSTOM
118
};
119
120
/* Operand classes */
121
122
extern const struct sieve_operand_class number_class;
123
extern const struct sieve_operand_class string_class;
124
extern const struct sieve_operand_class stringlist_class;
125
126
/* Operand objects */
127
128
extern const struct sieve_operand_def omitted_operand;
129
extern const struct sieve_operand_def number_operand;
130
extern const struct sieve_operand_def string_operand;
131
extern const struct sieve_operand_def stringlist_operand;
132
extern const struct sieve_operand_def catenated_string_operand;
133
134
extern const struct sieve_operand_def *sieve_operands[];
135
extern const unsigned int sieve_operand_count;
136
137
/* Operand object interfaces */
138
139
struct sieve_opr_number_interface {
140
  bool (*dump)(const struct sieve_dumptime_env *denv,
141
         const struct sieve_operand *oprnd, sieve_size_t *address);
142
  int (*read)(const struct sieve_runtime_env *renv,
143
        const struct sieve_operand *oprnd, sieve_size_t *address,
144
        sieve_number_t *number_r);
145
};
146
147
struct sieve_opr_string_interface {
148
  bool (*dump)(const struct sieve_dumptime_env *denv,
149
         const struct sieve_operand *oprnd, sieve_size_t *address);
150
  int (*read)(const struct sieve_runtime_env *renv,
151
        const struct sieve_operand *oprnd, sieve_size_t *address,
152
        string_t **str_r);
153
};
154
155
struct sieve_opr_stringlist_interface {
156
  bool (*dump)(const struct sieve_dumptime_env *denv,
157
         const struct sieve_operand *oprnd, sieve_size_t *address);
158
  int (*read)(const struct sieve_runtime_env *renv,
159
        const struct sieve_operand *oprnd, sieve_size_t *address,
160
        struct sieve_stringlist **strlist_r);
161
};
162
163
/*
164
 * Core operand functions
165
 */
166
167
/* Omitted */
168
169
void sieve_opr_omitted_emit(struct sieve_binary_block *sblock);
170
171
static inline bool
172
sieve_operand_is_omitted(const struct sieve_operand *operand)
173
0
{
174
0
  return (operand != NULL && operand->def != NULL &&
175
0
    operand->def == &omitted_operand);
176
0
}
Unexecuted instantiation: testsuite-common.c:sieve_operand_is_omitted
Unexecuted instantiation: testsuite-objects.c:sieve_operand_is_omitted
Unexecuted instantiation: testsuite-substitutions.c:sieve_operand_is_omitted
Unexecuted instantiation: testsuite-variables.c:sieve_operand_is_omitted
Unexecuted instantiation: testsuite-arguments.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-test.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-test-fail.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-test-config.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-test-set.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-test-result.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-test-message.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-test-mailbox.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-test-binary.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-test-imap-metadata.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-test-script-compile.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-test-script-run.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-test-multiscript.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-test-error.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-test-result-action.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-test-result-execute.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-testsuite.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-message.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-binary.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-binary-file.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-binary-code.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-validator.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-generator.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-interpreter.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-runtime-trace.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-code-dumper.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-objects.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-comparators.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-match-types.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-address-parts.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-match.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-commands.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-code.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-actions.c:sieve_operand_is_omitted
Unexecuted instantiation: cmp-i-octet.c:sieve_operand_is_omitted
Unexecuted instantiation: cmp-i-ascii-casemap.c:sieve_operand_is_omitted
Unexecuted instantiation: cmp-i-unicode-casemap.c:sieve_operand_is_omitted
Unexecuted instantiation: mcht-is.c:sieve_operand_is_omitted
Unexecuted instantiation: mcht-contains.c:sieve_operand_is_omitted
Unexecuted instantiation: mcht-matches.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-truefalse.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-anyof.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-allof.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-address.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-header.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-exists.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-size.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-stop.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-if.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-keep.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-redirect.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-discard.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-fileinto.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-reject.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-envelope.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-subaddress.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-cmp-i-ascii-numeric.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-relational.c:sieve_operand_is_omitted
Unexecuted instantiation: mcht-count.c:sieve_operand_is_omitted
Unexecuted instantiation: mcht-value.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-regex.c:sieve_operand_is_omitted
Unexecuted instantiation: mcht-regex.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-copy.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-imap4flags.c:sieve_operand_is_omitted
Unexecuted instantiation: tag-flags.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-hasflag.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-include.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-body.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-body.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-variables-namespaces.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-variables.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-string.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-enotify.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-notify-method-capability.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-valid-notify-method.c:sieve_operand_is_omitted
Unexecuted instantiation: vmodf-encodeurl.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-environment.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-mailbox.c:sieve_operand_is_omitted
Unexecuted instantiation: tag-mailbox-create.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-mailboxexists.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-date.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-date.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-spamvirustest.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-ihave.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-ihave.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-editheader.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-duplicate.c:sieve_operand_is_omitted
Unexecuted instantiation: tag-index.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-metadata.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-metadataexists.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-extracttext.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-foreverypart.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-mime.c:sieve_operand_is_omitted
Unexecuted instantiation: tag-mime.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-special-use.c:sieve_operand_is_omitted
Unexecuted instantiation: tag-specialuse.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-specialuse-exists.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-extlists.c:sieve_operand_is_omitted
Unexecuted instantiation: mcht-list.c:sieve_operand_is_omitted
Unexecuted instantiation: tag-redirect-list.c:sieve_operand_is_omitted
Unexecuted instantiation: tst-valid-ext-list.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-debug.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-vnd-environment.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-vnd-report.c:sieve_operand_is_omitted
Unexecuted instantiation: sieve-binary-debug.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-vacation.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-relational-common.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-regex-common.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-flag.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-imap4flags-common.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-global.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-include.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-return.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-include-binary.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-include-common.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-include-variables.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-body-common.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-set.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-variables-arguments.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-variables-common.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-variables-dump.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-variables-modifiers.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-variables-name.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-variables-operands.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-notify.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-enotify-common.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-date-common.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-error.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-addheader.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-deleteheader.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-duplicate-common.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-break.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-extracttext.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-foreverypart.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-extlists-common.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-debug-log.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-vnd-environment-items.c:sieve_operand_is_omitted
Unexecuted instantiation: ext-vnd-environment-variables.c:sieve_operand_is_omitted
Unexecuted instantiation: cmd-report.c:sieve_operand_is_omitted
177
178
/* Number */
179
180
void sieve_opr_number_emit(struct sieve_binary_block *sblock,
181
         sieve_number_t number);
182
bool sieve_opr_number_dump_data(const struct sieve_dumptime_env *denv,
183
        struct sieve_operand *operand,
184
        sieve_size_t *address, const char *field_name);
185
bool sieve_opr_number_dump(const struct sieve_dumptime_env *denv,
186
         sieve_size_t *address, const char *field_name);
187
int sieve_opr_number_read_data(const struct sieve_runtime_env *renv,
188
             struct sieve_operand *operand,
189
             sieve_size_t *address, const char *field_name,
190
             sieve_number_t *number_r);
191
int sieve_opr_number_read(const struct sieve_runtime_env *renv,
192
        sieve_size_t *address, const char *field_name,
193
        sieve_number_t *number_r);
194
195
static inline bool sieve_operand_is_number(const struct sieve_operand *operand)
196
0
{
197
0
  return (operand != NULL && operand->def != NULL &&
198
0
    operand->def->class == &number_class);
199
0
}
Unexecuted instantiation: testsuite-common.c:sieve_operand_is_number
Unexecuted instantiation: testsuite-objects.c:sieve_operand_is_number
Unexecuted instantiation: testsuite-substitutions.c:sieve_operand_is_number
Unexecuted instantiation: testsuite-variables.c:sieve_operand_is_number
Unexecuted instantiation: testsuite-arguments.c:sieve_operand_is_number
Unexecuted instantiation: cmd-test.c:sieve_operand_is_number
Unexecuted instantiation: cmd-test-fail.c:sieve_operand_is_number
Unexecuted instantiation: cmd-test-config.c:sieve_operand_is_number
Unexecuted instantiation: cmd-test-set.c:sieve_operand_is_number
Unexecuted instantiation: cmd-test-result.c:sieve_operand_is_number
Unexecuted instantiation: cmd-test-message.c:sieve_operand_is_number
Unexecuted instantiation: cmd-test-mailbox.c:sieve_operand_is_number
Unexecuted instantiation: cmd-test-binary.c:sieve_operand_is_number
Unexecuted instantiation: cmd-test-imap-metadata.c:sieve_operand_is_number
Unexecuted instantiation: tst-test-script-compile.c:sieve_operand_is_number
Unexecuted instantiation: tst-test-script-run.c:sieve_operand_is_number
Unexecuted instantiation: tst-test-multiscript.c:sieve_operand_is_number
Unexecuted instantiation: tst-test-error.c:sieve_operand_is_number
Unexecuted instantiation: tst-test-result-action.c:sieve_operand_is_number
Unexecuted instantiation: tst-test-result-execute.c:sieve_operand_is_number
Unexecuted instantiation: ext-testsuite.c:sieve_operand_is_number
Unexecuted instantiation: sieve-message.c:sieve_operand_is_number
Unexecuted instantiation: sieve-binary.c:sieve_operand_is_number
Unexecuted instantiation: sieve-binary-file.c:sieve_operand_is_number
Unexecuted instantiation: sieve-binary-code.c:sieve_operand_is_number
Unexecuted instantiation: sieve-validator.c:sieve_operand_is_number
Unexecuted instantiation: sieve-generator.c:sieve_operand_is_number
Unexecuted instantiation: sieve-interpreter.c:sieve_operand_is_number
Unexecuted instantiation: sieve-runtime-trace.c:sieve_operand_is_number
Unexecuted instantiation: sieve-code-dumper.c:sieve_operand_is_number
Unexecuted instantiation: sieve-objects.c:sieve_operand_is_number
Unexecuted instantiation: sieve-comparators.c:sieve_operand_is_number
Unexecuted instantiation: sieve-match-types.c:sieve_operand_is_number
Unexecuted instantiation: sieve-address-parts.c:sieve_operand_is_number
Unexecuted instantiation: sieve-match.c:sieve_operand_is_number
Unexecuted instantiation: sieve-commands.c:sieve_operand_is_number
Unexecuted instantiation: sieve-code.c:sieve_operand_is_number
Unexecuted instantiation: sieve-actions.c:sieve_operand_is_number
Unexecuted instantiation: cmp-i-octet.c:sieve_operand_is_number
Unexecuted instantiation: cmp-i-ascii-casemap.c:sieve_operand_is_number
Unexecuted instantiation: cmp-i-unicode-casemap.c:sieve_operand_is_number
Unexecuted instantiation: mcht-is.c:sieve_operand_is_number
Unexecuted instantiation: mcht-contains.c:sieve_operand_is_number
Unexecuted instantiation: mcht-matches.c:sieve_operand_is_number
Unexecuted instantiation: tst-truefalse.c:sieve_operand_is_number
Unexecuted instantiation: tst-anyof.c:sieve_operand_is_number
Unexecuted instantiation: tst-allof.c:sieve_operand_is_number
Unexecuted instantiation: tst-address.c:sieve_operand_is_number
Unexecuted instantiation: tst-header.c:sieve_operand_is_number
Unexecuted instantiation: tst-exists.c:sieve_operand_is_number
Unexecuted instantiation: tst-size.c:sieve_operand_is_number
Unexecuted instantiation: cmd-stop.c:sieve_operand_is_number
Unexecuted instantiation: cmd-if.c:sieve_operand_is_number
Unexecuted instantiation: cmd-keep.c:sieve_operand_is_number
Unexecuted instantiation: cmd-redirect.c:sieve_operand_is_number
Unexecuted instantiation: cmd-discard.c:sieve_operand_is_number
Unexecuted instantiation: ext-fileinto.c:sieve_operand_is_number
Unexecuted instantiation: ext-reject.c:sieve_operand_is_number
Unexecuted instantiation: ext-envelope.c:sieve_operand_is_number
Unexecuted instantiation: ext-subaddress.c:sieve_operand_is_number
Unexecuted instantiation: ext-cmp-i-ascii-numeric.c:sieve_operand_is_number
Unexecuted instantiation: ext-relational.c:sieve_operand_is_number
Unexecuted instantiation: mcht-count.c:sieve_operand_is_number
Unexecuted instantiation: mcht-value.c:sieve_operand_is_number
Unexecuted instantiation: ext-regex.c:sieve_operand_is_number
Unexecuted instantiation: mcht-regex.c:sieve_operand_is_number
Unexecuted instantiation: ext-copy.c:sieve_operand_is_number
Unexecuted instantiation: ext-imap4flags.c:sieve_operand_is_number
Unexecuted instantiation: tag-flags.c:sieve_operand_is_number
Unexecuted instantiation: tst-hasflag.c:sieve_operand_is_number
Unexecuted instantiation: ext-include.c:sieve_operand_is_number
Unexecuted instantiation: ext-body.c:sieve_operand_is_number
Unexecuted instantiation: tst-body.c:sieve_operand_is_number
Unexecuted instantiation: ext-variables-namespaces.c:sieve_operand_is_number
Unexecuted instantiation: ext-variables.c:sieve_operand_is_number
Unexecuted instantiation: tst-string.c:sieve_operand_is_number
Unexecuted instantiation: ext-enotify.c:sieve_operand_is_number
Unexecuted instantiation: tst-notify-method-capability.c:sieve_operand_is_number
Unexecuted instantiation: tst-valid-notify-method.c:sieve_operand_is_number
Unexecuted instantiation: vmodf-encodeurl.c:sieve_operand_is_number
Unexecuted instantiation: tst-environment.c:sieve_operand_is_number
Unexecuted instantiation: ext-mailbox.c:sieve_operand_is_number
Unexecuted instantiation: tag-mailbox-create.c:sieve_operand_is_number
Unexecuted instantiation: tst-mailboxexists.c:sieve_operand_is_number
Unexecuted instantiation: ext-date.c:sieve_operand_is_number
Unexecuted instantiation: tst-date.c:sieve_operand_is_number
Unexecuted instantiation: tst-spamvirustest.c:sieve_operand_is_number
Unexecuted instantiation: ext-ihave.c:sieve_operand_is_number
Unexecuted instantiation: tst-ihave.c:sieve_operand_is_number
Unexecuted instantiation: ext-editheader.c:sieve_operand_is_number
Unexecuted instantiation: tst-duplicate.c:sieve_operand_is_number
Unexecuted instantiation: tag-index.c:sieve_operand_is_number
Unexecuted instantiation: tst-metadata.c:sieve_operand_is_number
Unexecuted instantiation: tst-metadataexists.c:sieve_operand_is_number
Unexecuted instantiation: ext-extracttext.c:sieve_operand_is_number
Unexecuted instantiation: ext-foreverypart.c:sieve_operand_is_number
Unexecuted instantiation: ext-mime.c:sieve_operand_is_number
Unexecuted instantiation: tag-mime.c:sieve_operand_is_number
Unexecuted instantiation: ext-special-use.c:sieve_operand_is_number
Unexecuted instantiation: tag-specialuse.c:sieve_operand_is_number
Unexecuted instantiation: tst-specialuse-exists.c:sieve_operand_is_number
Unexecuted instantiation: ext-extlists.c:sieve_operand_is_number
Unexecuted instantiation: mcht-list.c:sieve_operand_is_number
Unexecuted instantiation: tag-redirect-list.c:sieve_operand_is_number
Unexecuted instantiation: tst-valid-ext-list.c:sieve_operand_is_number
Unexecuted instantiation: ext-debug.c:sieve_operand_is_number
Unexecuted instantiation: ext-vnd-environment.c:sieve_operand_is_number
Unexecuted instantiation: ext-vnd-report.c:sieve_operand_is_number
Unexecuted instantiation: sieve-binary-debug.c:sieve_operand_is_number
Unexecuted instantiation: cmd-vacation.c:sieve_operand_is_number
Unexecuted instantiation: ext-relational-common.c:sieve_operand_is_number
Unexecuted instantiation: ext-regex-common.c:sieve_operand_is_number
Unexecuted instantiation: cmd-flag.c:sieve_operand_is_number
Unexecuted instantiation: ext-imap4flags-common.c:sieve_operand_is_number
Unexecuted instantiation: cmd-global.c:sieve_operand_is_number
Unexecuted instantiation: cmd-include.c:sieve_operand_is_number
Unexecuted instantiation: cmd-return.c:sieve_operand_is_number
Unexecuted instantiation: ext-include-binary.c:sieve_operand_is_number
Unexecuted instantiation: ext-include-common.c:sieve_operand_is_number
Unexecuted instantiation: ext-include-variables.c:sieve_operand_is_number
Unexecuted instantiation: ext-body-common.c:sieve_operand_is_number
Unexecuted instantiation: cmd-set.c:sieve_operand_is_number
Unexecuted instantiation: ext-variables-arguments.c:sieve_operand_is_number
Unexecuted instantiation: ext-variables-common.c:sieve_operand_is_number
Unexecuted instantiation: ext-variables-dump.c:sieve_operand_is_number
Unexecuted instantiation: ext-variables-modifiers.c:sieve_operand_is_number
Unexecuted instantiation: ext-variables-name.c:sieve_operand_is_number
Unexecuted instantiation: ext-variables-operands.c:sieve_operand_is_number
Unexecuted instantiation: cmd-notify.c:sieve_operand_is_number
Unexecuted instantiation: ext-enotify-common.c:sieve_operand_is_number
Unexecuted instantiation: ext-date-common.c:sieve_operand_is_number
Unexecuted instantiation: cmd-error.c:sieve_operand_is_number
Unexecuted instantiation: cmd-addheader.c:sieve_operand_is_number
Unexecuted instantiation: cmd-deleteheader.c:sieve_operand_is_number
Unexecuted instantiation: ext-duplicate-common.c:sieve_operand_is_number
Unexecuted instantiation: cmd-break.c:sieve_operand_is_number
Unexecuted instantiation: cmd-extracttext.c:sieve_operand_is_number
Unexecuted instantiation: cmd-foreverypart.c:sieve_operand_is_number
Unexecuted instantiation: ext-extlists-common.c:sieve_operand_is_number
Unexecuted instantiation: cmd-debug-log.c:sieve_operand_is_number
Unexecuted instantiation: ext-vnd-environment-items.c:sieve_operand_is_number
Unexecuted instantiation: ext-vnd-environment-variables.c:sieve_operand_is_number
Unexecuted instantiation: cmd-report.c:sieve_operand_is_number
200
201
/* String */
202
203
void sieve_opr_string_emit(struct sieve_binary_block *sblock, string_t *str);
204
bool sieve_opr_string_dump_data(const struct sieve_dumptime_env *denv,
205
        struct sieve_operand *operand,
206
        sieve_size_t *address, const char *field_name);
207
bool sieve_opr_string_dump(const struct sieve_dumptime_env *denv,
208
         sieve_size_t *address, const char *field_name);
209
bool sieve_opr_string_dump_ex(const struct sieve_dumptime_env *denv,
210
            sieve_size_t *address, const char *field_name,
211
            const char *omitted_value);
212
int sieve_opr_string_read_data(const struct sieve_runtime_env *renv,
213
             struct sieve_operand *operand,
214
             sieve_size_t *address, const char *field_name,
215
             string_t **str_r);
216
int sieve_opr_string_read(const struct sieve_runtime_env *renv,
217
        sieve_size_t *address, const char *field_name,
218
        string_t **str_r);
219
int sieve_opr_string_read_ex(const struct sieve_runtime_env *renv,
220
           sieve_size_t *address, const char *field_name,
221
           bool optional, string_t **str_r, bool *literal_r);
222
223
static inline bool
224
sieve_operand_is_string(const struct sieve_operand *operand)
225
0
{
226
0
  return (operand != NULL && operand->def != NULL &&
227
0
    operand->def->class == &string_class);
228
0
}
Unexecuted instantiation: testsuite-common.c:sieve_operand_is_string
Unexecuted instantiation: testsuite-objects.c:sieve_operand_is_string
Unexecuted instantiation: testsuite-substitutions.c:sieve_operand_is_string
Unexecuted instantiation: testsuite-variables.c:sieve_operand_is_string
Unexecuted instantiation: testsuite-arguments.c:sieve_operand_is_string
Unexecuted instantiation: cmd-test.c:sieve_operand_is_string
Unexecuted instantiation: cmd-test-fail.c:sieve_operand_is_string
Unexecuted instantiation: cmd-test-config.c:sieve_operand_is_string
Unexecuted instantiation: cmd-test-set.c:sieve_operand_is_string
Unexecuted instantiation: cmd-test-result.c:sieve_operand_is_string
Unexecuted instantiation: cmd-test-message.c:sieve_operand_is_string
Unexecuted instantiation: cmd-test-mailbox.c:sieve_operand_is_string
Unexecuted instantiation: cmd-test-binary.c:sieve_operand_is_string
Unexecuted instantiation: cmd-test-imap-metadata.c:sieve_operand_is_string
Unexecuted instantiation: tst-test-script-compile.c:sieve_operand_is_string
Unexecuted instantiation: tst-test-script-run.c:sieve_operand_is_string
Unexecuted instantiation: tst-test-multiscript.c:sieve_operand_is_string
Unexecuted instantiation: tst-test-error.c:sieve_operand_is_string
Unexecuted instantiation: tst-test-result-action.c:sieve_operand_is_string
Unexecuted instantiation: tst-test-result-execute.c:sieve_operand_is_string
Unexecuted instantiation: ext-testsuite.c:sieve_operand_is_string
Unexecuted instantiation: sieve-message.c:sieve_operand_is_string
Unexecuted instantiation: sieve-binary.c:sieve_operand_is_string
Unexecuted instantiation: sieve-binary-file.c:sieve_operand_is_string
Unexecuted instantiation: sieve-binary-code.c:sieve_operand_is_string
Unexecuted instantiation: sieve-validator.c:sieve_operand_is_string
Unexecuted instantiation: sieve-generator.c:sieve_operand_is_string
Unexecuted instantiation: sieve-interpreter.c:sieve_operand_is_string
Unexecuted instantiation: sieve-runtime-trace.c:sieve_operand_is_string
Unexecuted instantiation: sieve-code-dumper.c:sieve_operand_is_string
Unexecuted instantiation: sieve-objects.c:sieve_operand_is_string
Unexecuted instantiation: sieve-comparators.c:sieve_operand_is_string
Unexecuted instantiation: sieve-match-types.c:sieve_operand_is_string
Unexecuted instantiation: sieve-address-parts.c:sieve_operand_is_string
Unexecuted instantiation: sieve-match.c:sieve_operand_is_string
Unexecuted instantiation: sieve-commands.c:sieve_operand_is_string
Unexecuted instantiation: sieve-code.c:sieve_operand_is_string
Unexecuted instantiation: sieve-actions.c:sieve_operand_is_string
Unexecuted instantiation: cmp-i-octet.c:sieve_operand_is_string
Unexecuted instantiation: cmp-i-ascii-casemap.c:sieve_operand_is_string
Unexecuted instantiation: cmp-i-unicode-casemap.c:sieve_operand_is_string
Unexecuted instantiation: mcht-is.c:sieve_operand_is_string
Unexecuted instantiation: mcht-contains.c:sieve_operand_is_string
Unexecuted instantiation: mcht-matches.c:sieve_operand_is_string
Unexecuted instantiation: tst-truefalse.c:sieve_operand_is_string
Unexecuted instantiation: tst-anyof.c:sieve_operand_is_string
Unexecuted instantiation: tst-allof.c:sieve_operand_is_string
Unexecuted instantiation: tst-address.c:sieve_operand_is_string
Unexecuted instantiation: tst-header.c:sieve_operand_is_string
Unexecuted instantiation: tst-exists.c:sieve_operand_is_string
Unexecuted instantiation: tst-size.c:sieve_operand_is_string
Unexecuted instantiation: cmd-stop.c:sieve_operand_is_string
Unexecuted instantiation: cmd-if.c:sieve_operand_is_string
Unexecuted instantiation: cmd-keep.c:sieve_operand_is_string
Unexecuted instantiation: cmd-redirect.c:sieve_operand_is_string
Unexecuted instantiation: cmd-discard.c:sieve_operand_is_string
Unexecuted instantiation: ext-fileinto.c:sieve_operand_is_string
Unexecuted instantiation: ext-reject.c:sieve_operand_is_string
Unexecuted instantiation: ext-envelope.c:sieve_operand_is_string
Unexecuted instantiation: ext-subaddress.c:sieve_operand_is_string
Unexecuted instantiation: ext-cmp-i-ascii-numeric.c:sieve_operand_is_string
Unexecuted instantiation: ext-relational.c:sieve_operand_is_string
Unexecuted instantiation: mcht-count.c:sieve_operand_is_string
Unexecuted instantiation: mcht-value.c:sieve_operand_is_string
Unexecuted instantiation: ext-regex.c:sieve_operand_is_string
Unexecuted instantiation: mcht-regex.c:sieve_operand_is_string
Unexecuted instantiation: ext-copy.c:sieve_operand_is_string
Unexecuted instantiation: ext-imap4flags.c:sieve_operand_is_string
Unexecuted instantiation: tag-flags.c:sieve_operand_is_string
Unexecuted instantiation: tst-hasflag.c:sieve_operand_is_string
Unexecuted instantiation: ext-include.c:sieve_operand_is_string
Unexecuted instantiation: ext-body.c:sieve_operand_is_string
Unexecuted instantiation: tst-body.c:sieve_operand_is_string
Unexecuted instantiation: ext-variables-namespaces.c:sieve_operand_is_string
Unexecuted instantiation: ext-variables.c:sieve_operand_is_string
Unexecuted instantiation: tst-string.c:sieve_operand_is_string
Unexecuted instantiation: ext-enotify.c:sieve_operand_is_string
Unexecuted instantiation: tst-notify-method-capability.c:sieve_operand_is_string
Unexecuted instantiation: tst-valid-notify-method.c:sieve_operand_is_string
Unexecuted instantiation: vmodf-encodeurl.c:sieve_operand_is_string
Unexecuted instantiation: tst-environment.c:sieve_operand_is_string
Unexecuted instantiation: ext-mailbox.c:sieve_operand_is_string
Unexecuted instantiation: tag-mailbox-create.c:sieve_operand_is_string
Unexecuted instantiation: tst-mailboxexists.c:sieve_operand_is_string
Unexecuted instantiation: ext-date.c:sieve_operand_is_string
Unexecuted instantiation: tst-date.c:sieve_operand_is_string
Unexecuted instantiation: tst-spamvirustest.c:sieve_operand_is_string
Unexecuted instantiation: ext-ihave.c:sieve_operand_is_string
Unexecuted instantiation: tst-ihave.c:sieve_operand_is_string
Unexecuted instantiation: ext-editheader.c:sieve_operand_is_string
Unexecuted instantiation: tst-duplicate.c:sieve_operand_is_string
Unexecuted instantiation: tag-index.c:sieve_operand_is_string
Unexecuted instantiation: tst-metadata.c:sieve_operand_is_string
Unexecuted instantiation: tst-metadataexists.c:sieve_operand_is_string
Unexecuted instantiation: ext-extracttext.c:sieve_operand_is_string
Unexecuted instantiation: ext-foreverypart.c:sieve_operand_is_string
Unexecuted instantiation: ext-mime.c:sieve_operand_is_string
Unexecuted instantiation: tag-mime.c:sieve_operand_is_string
Unexecuted instantiation: ext-special-use.c:sieve_operand_is_string
Unexecuted instantiation: tag-specialuse.c:sieve_operand_is_string
Unexecuted instantiation: tst-specialuse-exists.c:sieve_operand_is_string
Unexecuted instantiation: ext-extlists.c:sieve_operand_is_string
Unexecuted instantiation: mcht-list.c:sieve_operand_is_string
Unexecuted instantiation: tag-redirect-list.c:sieve_operand_is_string
Unexecuted instantiation: tst-valid-ext-list.c:sieve_operand_is_string
Unexecuted instantiation: ext-debug.c:sieve_operand_is_string
Unexecuted instantiation: ext-vnd-environment.c:sieve_operand_is_string
Unexecuted instantiation: ext-vnd-report.c:sieve_operand_is_string
Unexecuted instantiation: sieve-binary-debug.c:sieve_operand_is_string
Unexecuted instantiation: cmd-vacation.c:sieve_operand_is_string
Unexecuted instantiation: ext-relational-common.c:sieve_operand_is_string
Unexecuted instantiation: ext-regex-common.c:sieve_operand_is_string
Unexecuted instantiation: cmd-flag.c:sieve_operand_is_string
Unexecuted instantiation: ext-imap4flags-common.c:sieve_operand_is_string
Unexecuted instantiation: cmd-global.c:sieve_operand_is_string
Unexecuted instantiation: cmd-include.c:sieve_operand_is_string
Unexecuted instantiation: cmd-return.c:sieve_operand_is_string
Unexecuted instantiation: ext-include-binary.c:sieve_operand_is_string
Unexecuted instantiation: ext-include-common.c:sieve_operand_is_string
Unexecuted instantiation: ext-include-variables.c:sieve_operand_is_string
Unexecuted instantiation: ext-body-common.c:sieve_operand_is_string
Unexecuted instantiation: cmd-set.c:sieve_operand_is_string
Unexecuted instantiation: ext-variables-arguments.c:sieve_operand_is_string
Unexecuted instantiation: ext-variables-common.c:sieve_operand_is_string
Unexecuted instantiation: ext-variables-dump.c:sieve_operand_is_string
Unexecuted instantiation: ext-variables-modifiers.c:sieve_operand_is_string
Unexecuted instantiation: ext-variables-name.c:sieve_operand_is_string
Unexecuted instantiation: ext-variables-operands.c:sieve_operand_is_string
Unexecuted instantiation: cmd-notify.c:sieve_operand_is_string
Unexecuted instantiation: ext-enotify-common.c:sieve_operand_is_string
Unexecuted instantiation: ext-date-common.c:sieve_operand_is_string
Unexecuted instantiation: cmd-error.c:sieve_operand_is_string
Unexecuted instantiation: cmd-addheader.c:sieve_operand_is_string
Unexecuted instantiation: cmd-deleteheader.c:sieve_operand_is_string
Unexecuted instantiation: ext-duplicate-common.c:sieve_operand_is_string
Unexecuted instantiation: cmd-break.c:sieve_operand_is_string
Unexecuted instantiation: cmd-extracttext.c:sieve_operand_is_string
Unexecuted instantiation: cmd-foreverypart.c:sieve_operand_is_string
Unexecuted instantiation: ext-extlists-common.c:sieve_operand_is_string
Unexecuted instantiation: cmd-debug-log.c:sieve_operand_is_string
Unexecuted instantiation: ext-vnd-environment-items.c:sieve_operand_is_string
Unexecuted instantiation: ext-vnd-environment-variables.c:sieve_operand_is_string
Unexecuted instantiation: cmd-report.c:sieve_operand_is_string
229
230
static inline bool
231
sieve_operand_is_string_literal(const struct sieve_operand *operand)
232
0
{
233
0
  return (operand != NULL && sieve_operand_is(operand, string_operand));
234
0
}
Unexecuted instantiation: testsuite-common.c:sieve_operand_is_string_literal
Unexecuted instantiation: testsuite-objects.c:sieve_operand_is_string_literal
Unexecuted instantiation: testsuite-substitutions.c:sieve_operand_is_string_literal
Unexecuted instantiation: testsuite-variables.c:sieve_operand_is_string_literal
Unexecuted instantiation: testsuite-arguments.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-test.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-test-fail.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-test-config.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-test-set.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-test-result.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-test-message.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-test-mailbox.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-test-binary.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-test-imap-metadata.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-test-script-compile.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-test-script-run.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-test-multiscript.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-test-error.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-test-result-action.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-test-result-execute.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-testsuite.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-message.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-binary.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-binary-file.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-binary-code.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-validator.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-generator.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-interpreter.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-runtime-trace.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-code-dumper.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-objects.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-comparators.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-match-types.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-address-parts.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-match.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-commands.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-code.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-actions.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmp-i-octet.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmp-i-ascii-casemap.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmp-i-unicode-casemap.c:sieve_operand_is_string_literal
Unexecuted instantiation: mcht-is.c:sieve_operand_is_string_literal
Unexecuted instantiation: mcht-contains.c:sieve_operand_is_string_literal
Unexecuted instantiation: mcht-matches.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-truefalse.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-anyof.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-allof.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-address.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-header.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-exists.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-size.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-stop.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-if.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-keep.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-redirect.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-discard.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-fileinto.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-reject.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-envelope.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-subaddress.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-cmp-i-ascii-numeric.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-relational.c:sieve_operand_is_string_literal
Unexecuted instantiation: mcht-count.c:sieve_operand_is_string_literal
Unexecuted instantiation: mcht-value.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-regex.c:sieve_operand_is_string_literal
Unexecuted instantiation: mcht-regex.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-copy.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-imap4flags.c:sieve_operand_is_string_literal
Unexecuted instantiation: tag-flags.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-hasflag.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-include.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-body.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-body.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-variables-namespaces.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-variables.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-string.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-enotify.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-notify-method-capability.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-valid-notify-method.c:sieve_operand_is_string_literal
Unexecuted instantiation: vmodf-encodeurl.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-environment.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-mailbox.c:sieve_operand_is_string_literal
Unexecuted instantiation: tag-mailbox-create.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-mailboxexists.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-date.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-date.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-spamvirustest.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-ihave.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-ihave.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-editheader.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-duplicate.c:sieve_operand_is_string_literal
Unexecuted instantiation: tag-index.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-metadata.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-metadataexists.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-extracttext.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-foreverypart.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-mime.c:sieve_operand_is_string_literal
Unexecuted instantiation: tag-mime.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-special-use.c:sieve_operand_is_string_literal
Unexecuted instantiation: tag-specialuse.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-specialuse-exists.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-extlists.c:sieve_operand_is_string_literal
Unexecuted instantiation: mcht-list.c:sieve_operand_is_string_literal
Unexecuted instantiation: tag-redirect-list.c:sieve_operand_is_string_literal
Unexecuted instantiation: tst-valid-ext-list.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-debug.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-vnd-environment.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-vnd-report.c:sieve_operand_is_string_literal
Unexecuted instantiation: sieve-binary-debug.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-vacation.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-relational-common.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-regex-common.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-flag.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-imap4flags-common.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-global.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-include.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-return.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-include-binary.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-include-common.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-include-variables.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-body-common.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-set.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-variables-arguments.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-variables-common.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-variables-dump.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-variables-modifiers.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-variables-name.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-variables-operands.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-notify.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-enotify-common.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-date-common.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-error.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-addheader.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-deleteheader.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-duplicate-common.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-break.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-extracttext.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-foreverypart.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-extlists-common.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-debug-log.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-vnd-environment-items.c:sieve_operand_is_string_literal
Unexecuted instantiation: ext-vnd-environment-variables.c:sieve_operand_is_string_literal
Unexecuted instantiation: cmd-report.c:sieve_operand_is_string_literal
235
236
/* String list */
237
238
void sieve_opr_stringlist_emit_start(struct sieve_binary_block *sblock,
239
             unsigned int listlen, void **context);
240
void sieve_opr_stringlist_emit_item(struct sieve_binary_block *sblock,
241
            void *context ATTR_UNUSED,
242
            string_t *item);
243
void sieve_opr_stringlist_emit_end(struct sieve_binary_block *sblock,
244
           void *context);
245
246
bool sieve_opr_stringlist_dump_data(const struct sieve_dumptime_env *denv,
247
            struct sieve_operand *operand,
248
            sieve_size_t *address,
249
            const char *field_name);
250
bool sieve_opr_stringlist_dump(const struct sieve_dumptime_env *denv,
251
             sieve_size_t *address, const char *field_name);
252
bool sieve_opr_stringlist_dump_ex(const struct sieve_dumptime_env *denv,
253
          sieve_size_t *address,
254
          const char *field_name,
255
          const char *omitted_value);
256
int sieve_opr_stringlist_read_data(const struct sieve_runtime_env *renv,
257
           struct sieve_operand *operand,
258
           sieve_size_t *address,
259
           const char *field_name,
260
           struct sieve_stringlist **strlist_r);
261
int sieve_opr_stringlist_read(const struct sieve_runtime_env *renv,
262
            sieve_size_t *address, const char *field_name,
263
            struct sieve_stringlist **strlist_r);
264
int sieve_opr_stringlist_read_ex(const struct sieve_runtime_env *renv,
265
         sieve_size_t *address, const char *field_name,
266
         bool optional,
267
         struct sieve_stringlist **strlist_r);
268
269
static inline bool
270
sieve_operand_is_stringlist(const struct sieve_operand *operand)
271
0
{
272
0
  return (operand != NULL && operand->def != NULL &&
273
0
    (operand->def->class == &stringlist_class ||
274
0
     operand->def->class == &string_class));
275
0
}
Unexecuted instantiation: testsuite-common.c:sieve_operand_is_stringlist
Unexecuted instantiation: testsuite-objects.c:sieve_operand_is_stringlist
Unexecuted instantiation: testsuite-substitutions.c:sieve_operand_is_stringlist
Unexecuted instantiation: testsuite-variables.c:sieve_operand_is_stringlist
Unexecuted instantiation: testsuite-arguments.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-test.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-test-fail.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-test-config.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-test-set.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-test-result.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-test-message.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-test-mailbox.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-test-binary.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-test-imap-metadata.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-test-script-compile.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-test-script-run.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-test-multiscript.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-test-error.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-test-result-action.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-test-result-execute.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-testsuite.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-message.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-binary.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-binary-file.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-binary-code.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-validator.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-generator.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-interpreter.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-runtime-trace.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-code-dumper.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-objects.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-comparators.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-match-types.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-address-parts.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-match.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-commands.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-code.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-actions.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmp-i-octet.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmp-i-ascii-casemap.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmp-i-unicode-casemap.c:sieve_operand_is_stringlist
Unexecuted instantiation: mcht-is.c:sieve_operand_is_stringlist
Unexecuted instantiation: mcht-contains.c:sieve_operand_is_stringlist
Unexecuted instantiation: mcht-matches.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-truefalse.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-anyof.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-allof.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-address.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-header.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-exists.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-size.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-stop.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-if.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-keep.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-redirect.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-discard.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-fileinto.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-reject.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-envelope.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-subaddress.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-cmp-i-ascii-numeric.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-relational.c:sieve_operand_is_stringlist
Unexecuted instantiation: mcht-count.c:sieve_operand_is_stringlist
Unexecuted instantiation: mcht-value.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-regex.c:sieve_operand_is_stringlist
Unexecuted instantiation: mcht-regex.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-copy.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-imap4flags.c:sieve_operand_is_stringlist
Unexecuted instantiation: tag-flags.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-hasflag.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-include.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-body.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-body.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-variables-namespaces.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-variables.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-string.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-enotify.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-notify-method-capability.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-valid-notify-method.c:sieve_operand_is_stringlist
Unexecuted instantiation: vmodf-encodeurl.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-environment.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-mailbox.c:sieve_operand_is_stringlist
Unexecuted instantiation: tag-mailbox-create.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-mailboxexists.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-date.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-date.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-spamvirustest.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-ihave.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-ihave.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-editheader.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-duplicate.c:sieve_operand_is_stringlist
Unexecuted instantiation: tag-index.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-metadata.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-metadataexists.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-extracttext.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-foreverypart.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-mime.c:sieve_operand_is_stringlist
Unexecuted instantiation: tag-mime.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-special-use.c:sieve_operand_is_stringlist
Unexecuted instantiation: tag-specialuse.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-specialuse-exists.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-extlists.c:sieve_operand_is_stringlist
Unexecuted instantiation: mcht-list.c:sieve_operand_is_stringlist
Unexecuted instantiation: tag-redirect-list.c:sieve_operand_is_stringlist
Unexecuted instantiation: tst-valid-ext-list.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-debug.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-vnd-environment.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-vnd-report.c:sieve_operand_is_stringlist
Unexecuted instantiation: sieve-binary-debug.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-vacation.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-relational-common.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-regex-common.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-flag.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-imap4flags-common.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-global.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-include.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-return.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-include-binary.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-include-common.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-include-variables.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-body-common.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-set.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-variables-arguments.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-variables-common.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-variables-dump.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-variables-modifiers.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-variables-name.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-variables-operands.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-notify.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-enotify-common.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-date-common.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-error.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-addheader.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-deleteheader.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-duplicate-common.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-break.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-extracttext.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-foreverypart.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-extlists-common.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-debug-log.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-vnd-environment-items.c:sieve_operand_is_stringlist
Unexecuted instantiation: ext-vnd-environment-variables.c:sieve_operand_is_stringlist
Unexecuted instantiation: cmd-report.c:sieve_operand_is_stringlist
276
277
/* Catenated string */
278
279
void sieve_opr_catenated_string_emit(struct sieve_binary_block *sblock,
280
             unsigned int elements);
281
282
/*
283
 * Operation object
284
 */
285
286
struct sieve_operation_def {
287
  const char *mnemonic;
288
289
  const struct sieve_extension_def *ext_def;
290
  unsigned int code;
291
292
  bool (*dump)(const struct sieve_dumptime_env *denv,
293
         sieve_size_t *address);
294
  int (*execute)(const struct sieve_runtime_env *renv,
295
           sieve_size_t *address);
296
};
297
298
struct sieve_operation {
299
  const struct sieve_operation_def *def;
300
  const struct sieve_extension *ext;
301
302
  sieve_size_t address;
303
};
304
305
#define sieve_operation_is(oprtn, definition) \
306
0
  ((oprtn)->def == &(definition))
307
#define sieve_operation_mnemonic(oprtn) \
308
0
  ((oprtn)->def == NULL ? "(NULL)" : (oprtn)->def->mnemonic)
309
310
sieve_size_t sieve_operation_emit(struct sieve_binary_block *sblock,
311
          const struct sieve_extension *ext,
312
          const struct sieve_operation_def *op_def);
313
bool sieve_operation_read(struct sieve_binary_block *sblock,
314
        sieve_size_t *address, struct sieve_operation *oprtn);
315
const char *
316
sieve_operation_read_string(struct sieve_binary_block *sblock,
317
          sieve_size_t *address);
318
319
/*
320
 * Core operations
321
 */
322
323
/* Opcodes */
324
325
enum sieve_operation_code {
326
  SIEVE_OPERATION_INVALID,
327
  SIEVE_OPERATION_JMP,
328
  SIEVE_OPERATION_JMPTRUE,
329
  SIEVE_OPERATION_JMPFALSE,
330
331
  SIEVE_OPERATION_STOP,
332
  SIEVE_OPERATION_KEEP,
333
  SIEVE_OPERATION_DISCARD,
334
  SIEVE_OPERATION_REDIRECT,
335
336
  SIEVE_OPERATION_ADDRESS,
337
  SIEVE_OPERATION_HEADER,
338
  SIEVE_OPERATION_EXISTS,
339
  SIEVE_OPERATION_SIZE_OVER,
340
  SIEVE_OPERATION_SIZE_UNDER,
341
342
  SIEVE_OPERATION_CUSTOM
343
};
344
345
/* Operation objects */
346
347
extern const struct sieve_operation_def sieve_jmp_operation;
348
extern const struct sieve_operation_def sieve_jmptrue_operation;
349
extern const struct sieve_operation_def sieve_jmpfalse_operation;
350
351
extern const struct sieve_operation_def *sieve_operations[];
352
extern const unsigned int sieve_operations_count;
353
354
#endif