Coverage Report

Created: 2026-10-17 06:32

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/pigeonhole/src/lib-sieve/plugins/mime/ext-foreverypart.c
Line
Count
Source
1
/* Copyright (c) Pigeonhole authors, see top-level COPYING file */
2
3
/* Extension foreverypart
4
 * ----------------------
5
 *
6
 * Authors: Stephan Bosch
7
 * Specification: RFC 5703, Section 3
8
 * Implementation: full
9
 * Status: experimental
10
 *
11
 */
12
13
#include "sieve-common.h"
14
15
#include "sieve-code.h"
16
#include "sieve-extensions.h"
17
#include "sieve-actions.h"
18
#include "sieve-commands.h"
19
#include "sieve-validator.h"
20
#include "sieve-generator.h"
21
#include "sieve-interpreter.h"
22
#include "sieve-result.h"
23
24
#include "ext-mime-common.h"
25
26
/*
27
 * Operations
28
 */
29
30
const struct sieve_operation_def *ext_foreverypart_operations[] = {
31
  &foreverypart_begin_operation,
32
  &foreverypart_end_operation,
33
  &break_operation,
34
};
35
36
/*
37
 * Extension
38
 */
39
40
static bool
41
ext_foreverypart_validator_load(const struct sieve_extension *ext,
42
        struct sieve_validator *valdtr);
43
44
const struct sieve_extension_def foreverypart_extension = {
45
  .name = "foreverypart",
46
  .validator_load = ext_foreverypart_validator_load,
47
  SIEVE_EXT_DEFINE_OPERATIONS(ext_foreverypart_operations),
48
};
49
50
/*
51
 * Extension validation
52
 */
53
54
static bool
55
ext_foreverypart_validator_load(const struct sieve_extension *ext,
56
        struct sieve_validator *valdtr)
57
0
{
58
  /* Register new commands */
59
0
  sieve_validator_register_command(valdtr, ext, &cmd_foreverypart);
60
0
  sieve_validator_register_command(valdtr, ext, &cmd_break);
61
62
0
  return TRUE;
63
0
}