Coverage Report

Created: 2026-09-14 07:03

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/dovecot/src/lib-storage/mail-search-parser.c
Line
Count
Source
1
/* Copyright (c) Dovecot authors, see top-level COPYING file */
2
3
#include "lib.h"
4
#include "mail-search-parser-private.h"
5
6
void mail_search_parser_deinit(struct mail_search_parser **_parser)
7
0
{
8
0
  struct mail_search_parser *parser = *_parser;
9
10
0
  *_parser = NULL;
11
0
  pool_unref(&parser->pool);
12
0
}
13
14
int mail_search_parse_key(struct mail_search_parser *parser,
15
        const char **key_r)
16
0
{
17
0
  int ret;
18
19
0
  if ((ret = parser->v.parse_key(parser, key_r)) <= 0)
20
0
    return ret;
21
22
0
  parser->cur_key = *key_r;
23
0
  return 1;
24
0
}
25
26
int mail_search_parse_string(struct mail_search_parser *parser,
27
           const char **value_r)
28
0
{
29
0
  int ret;
30
31
0
  ret = parser->v.parse_string(parser, value_r);
32
0
  if (ret < 0 && parser->cur_key != NULL) {
33
0
    parser->error = p_strdup_printf(parser->pool,
34
0
      "%s (for search key: %s)",
35
0
      parser->error, t_str_ucase(parser->cur_key));
36
0
  }
37
0
  return ret;
38
0
}
39
40
bool mail_search_parse_skip_next(struct mail_search_parser *parser,
41
         const char *str)
42
0
{
43
0
  return parser->v.parse_skip_next(parser, str);
44
0
}
45
46
const char *mail_search_parser_get_error(struct mail_search_parser *parser)
47
0
{
48
0
  return parser->error;
49
0
}