/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 |