/src/neomutt/mutt/regex3.h
Line | Count | Source (jump to first uncovered line) |
1 | | /** |
2 | | * @file |
3 | | * Manage regular expressions |
4 | | * |
5 | | * @authors |
6 | | * Copyright (C) 2017 Richard Russon <rich@flatcap.org> |
7 | | * |
8 | | * @copyright |
9 | | * This program is free software: you can redistribute it and/or modify it under |
10 | | * the terms of the GNU General Public License as published by the Free Software |
11 | | * Foundation, either version 2 of the License, or (at your option) any later |
12 | | * version. |
13 | | * |
14 | | * This program is distributed in the hope that it will be useful, but WITHOUT |
15 | | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
16 | | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more |
17 | | * details. |
18 | | * |
19 | | * You should have received a copy of the GNU General Public License along with |
20 | | * this program. If not, see <http://www.gnu.org/licenses/>. |
21 | | */ |
22 | | |
23 | | #ifndef MUTT_MUTT_REGEX3_H |
24 | | #define MUTT_MUTT_REGEX3_H |
25 | | |
26 | | #include "config.h" |
27 | | #include <regex.h> |
28 | | #include <stdbool.h> |
29 | | #include <stdint.h> |
30 | | #include "queue.h" |
31 | | |
32 | | struct Buffer; |
33 | | |
34 | | /* ... DT_REGEX */ |
35 | 59.6k | #define DT_REGEX_MATCH_CASE (1 << 6) ///< Case-sensitive matching |
36 | 59.6k | #define DT_REGEX_ALLOW_NOT (1 << 7) ///< Regex can begin with '!' |
37 | 59.6k | #define DT_REGEX_NOSUB (1 << 8) ///< Do not report what was matched (REG_NOSUB) |
38 | | |
39 | | /* This is a non-standard option supported by Solaris 2.5.x |
40 | | * which allows patterns of the form \<...\> */ |
41 | | #ifndef REG_WORDS |
42 | 59.6k | #define REG_WORDS 0 |
43 | | #endif |
44 | | |
45 | | /** |
46 | | * REG_COMP - Compile a regular expression |
47 | | * @param preg regex_t struct to fill |
48 | | * @param regex Regular expression string |
49 | | * @param cflags Flags |
50 | | * @retval 0 Success |
51 | | * @retval num Failure, e.g. REG_BADPAT |
52 | | */ |
53 | 59.6k | #define REG_COMP(preg, regex, cflags) regcomp(preg, regex, REG_WORDS | REG_EXTENDED | (cflags)) |
54 | | |
55 | | /** |
56 | | * mutt_regmatch_start - Return the start of a match |
57 | | * @param match Match |
58 | | * @retval num Start of the match |
59 | | */ |
60 | | static inline regoff_t mutt_regmatch_start(const regmatch_t *match) |
61 | 99.7k | { |
62 | 99.7k | return match->rm_so; |
63 | 99.7k | } Unexecuted instantiation: address.c:mutt_regmatch_start Unexecuted instantiation: alternates.c:mutt_regmatch_start Unexecuted instantiation: commands.c:mutt_regmatch_start Unexecuted instantiation: copy.c:mutt_regmatch_start Unexecuted instantiation: editmsg.c:mutt_regmatch_start Unexecuted instantiation: enriched.c:mutt_regmatch_start Unexecuted instantiation: external.c:mutt_regmatch_start Unexecuted instantiation: flags.c:mutt_regmatch_start Unexecuted instantiation: globals.c:mutt_regmatch_start Unexecuted instantiation: handler.c:mutt_regmatch_start Unexecuted instantiation: hdrline.c:mutt_regmatch_start Unexecuted instantiation: help.c:mutt_regmatch_start Unexecuted instantiation: hook.c:mutt_regmatch_start Unexecuted instantiation: init.c:mutt_regmatch_start Unexecuted instantiation: mailcap.c:mutt_regmatch_start Unexecuted instantiation: maillist.c:mutt_regmatch_start Unexecuted instantiation: main.c:mutt_regmatch_start Unexecuted instantiation: muttlib.c:mutt_regmatch_start Unexecuted instantiation: mutt_account.c:mutt_regmatch_start Unexecuted instantiation: mutt_body.c:mutt_regmatch_start Unexecuted instantiation: mutt_config.c:mutt_regmatch_start Unexecuted instantiation: mutt_header.c:mutt_regmatch_start Unexecuted instantiation: mutt_logging.c:mutt_regmatch_start Unexecuted instantiation: mutt_mailbox.c:mutt_regmatch_start Unexecuted instantiation: mutt_signal.c:mutt_regmatch_start Unexecuted instantiation: mutt_socket.c:mutt_regmatch_start Unexecuted instantiation: mutt_thread.c:mutt_regmatch_start Unexecuted instantiation: mview.c:mutt_regmatch_start Unexecuted instantiation: mx.c:mutt_regmatch_start Unexecuted instantiation: recvcmd.c:mutt_regmatch_start Unexecuted instantiation: rfc3676.c:mutt_regmatch_start Unexecuted instantiation: score.c:mutt_regmatch_start Unexecuted instantiation: sort.c:mutt_regmatch_start Unexecuted instantiation: status.c:mutt_regmatch_start Unexecuted instantiation: subjectrx.c:mutt_regmatch_start Unexecuted instantiation: system.c:mutt_regmatch_start Unexecuted instantiation: version.c:mutt_regmatch_start Unexecuted instantiation: monitor.c:mutt_regmatch_start Unexecuted instantiation: config.c:mutt_regmatch_start Unexecuted instantiation: dlg_index.c:mutt_regmatch_start Unexecuted instantiation: functions.c:mutt_regmatch_start Unexecuted instantiation: index.c:mutt_regmatch_start Unexecuted instantiation: ipanel.c:mutt_regmatch_start Unexecuted instantiation: private_data.c:mutt_regmatch_start Unexecuted instantiation: shared_data.c:mutt_regmatch_start Unexecuted instantiation: ibar.c:mutt_regmatch_start Unexecuted instantiation: display.c:mutt_regmatch_start Unexecuted instantiation: dlg_pager.c:mutt_regmatch_start Unexecuted instantiation: do_pager.c:mutt_regmatch_start Unexecuted instantiation: message.c:mutt_regmatch_start Unexecuted instantiation: ppanel.c:mutt_regmatch_start Unexecuted instantiation: pager.c:mutt_regmatch_start Unexecuted instantiation: pbar.c:mutt_regmatch_start Unexecuted instantiation: pop.c:mutt_regmatch_start Unexecuted instantiation: adata.c:mutt_regmatch_start Unexecuted instantiation: auth.c:mutt_regmatch_start Unexecuted instantiation: edata.c:mutt_regmatch_start Unexecuted instantiation: lib.c:mutt_regmatch_start Unexecuted instantiation: window.c:mutt_regmatch_start Unexecuted instantiation: state.c:mutt_regmatch_start Unexecuted instantiation: enter.c:mutt_regmatch_start Unexecuted instantiation: data.c:mutt_regmatch_start Unexecuted instantiation: helpers.c:mutt_regmatch_start Unexecuted instantiation: complete.c:mutt_regmatch_start Unexecuted instantiation: dlg_browser.c:mutt_regmatch_start Unexecuted instantiation: compress.c:mutt_regmatch_start Unexecuted instantiation: progress.c:mutt_regmatch_start Unexecuted instantiation: wdata.c:mutt_regmatch_start Unexecuted instantiation: question.c:mutt_regmatch_start Unexecuted instantiation: postpone.c:mutt_regmatch_start Unexecuted instantiation: dlg_postpone.c:mutt_regmatch_start Unexecuted instantiation: alias.c:mutt_regmatch_start Unexecuted instantiation: dlg_alias.c:mutt_regmatch_start Unexecuted instantiation: dlg_query.c:mutt_regmatch_start Unexecuted instantiation: gui.c:mutt_regmatch_start Unexecuted instantiation: reverse.c:mutt_regmatch_start Unexecuted instantiation: array.c:mutt_regmatch_start Unexecuted instantiation: body.c:mutt_regmatch_start Unexecuted instantiation: header.c:mutt_regmatch_start Unexecuted instantiation: multipart.c:mutt_regmatch_start Unexecuted instantiation: send.c:mutt_regmatch_start Unexecuted instantiation: sendlib.c:mutt_regmatch_start Unexecuted instantiation: sendmail.c:mutt_regmatch_start Unexecuted instantiation: smtp.c:mutt_regmatch_start Unexecuted instantiation: content_info.c:mutt_regmatch_start Unexecuted instantiation: convert.c:mutt_regmatch_start Unexecuted instantiation: dlg_compose.c:mutt_regmatch_start Unexecuted instantiation: attach.c:mutt_regmatch_start Unexecuted instantiation: attach_data.c:mutt_regmatch_start Unexecuted instantiation: cbar.c:mutt_regmatch_start Unexecuted instantiation: cbar_data.c:mutt_regmatch_start Unexecuted instantiation: attachments.c:mutt_regmatch_start Unexecuted instantiation: dlg_attach.c:mutt_regmatch_start Unexecuted instantiation: mutt_attach.c:mutt_regmatch_start Unexecuted instantiation: recvattach.c:mutt_regmatch_start Unexecuted instantiation: cid.c:mutt_regmatch_start Unexecuted instantiation: get.c:mutt_regmatch_start Unexecuted instantiation: parse.c:mutt_regmatch_start Unexecuted instantiation: dump.c:mutt_regmatch_start Unexecuted instantiation: curs_lib.c:mutt_regmatch_start Unexecuted instantiation: dialog.c:mutt_regmatch_start Unexecuted instantiation: global.c:mutt_regmatch_start Unexecuted instantiation: msgcont.c:mutt_regmatch_start Unexecuted instantiation: msgwin.c:mutt_regmatch_start Unexecuted instantiation: msgwin_wdata.c:mutt_regmatch_start Unexecuted instantiation: mutt_curses.c:mutt_regmatch_start Unexecuted instantiation: mutt_window.c:mutt_regmatch_start Unexecuted instantiation: opcodes.c:mutt_regmatch_start Unexecuted instantiation: reflow.c:mutt_regmatch_start Unexecuted instantiation: resize.c:mutt_regmatch_start Unexecuted instantiation: rootwin.c:mutt_regmatch_start Unexecuted instantiation: sbar.c:mutt_regmatch_start Unexecuted instantiation: simple.c:mutt_regmatch_start Unexecuted instantiation: terminal.c:mutt_regmatch_start Unexecuted instantiation: browse.c:mutt_regmatch_start Unexecuted instantiation: newsrc.c:mutt_regmatch_start Unexecuted instantiation: nntp.c:mutt_regmatch_start Unexecuted instantiation: mdata.c:mutt_regmatch_start Unexecuted instantiation: compile.c:mutt_regmatch_start Unexecuted instantiation: dlg_pattern.c:mutt_regmatch_start Unexecuted instantiation: exec.c:mutt_regmatch_start Unexecuted instantiation: pattern.c:mutt_regmatch_start Unexecuted instantiation: search_state.c:mutt_regmatch_start Unexecuted instantiation: draw.c:mutt_regmatch_start Unexecuted instantiation: menu.c:mutt_regmatch_start Unexecuted instantiation: move.c:mutt_regmatch_start Unexecuted instantiation: observer.c:mutt_regmatch_start Unexecuted instantiation: tagging.c:mutt_regmatch_start Unexecuted instantiation: type.c:mutt_regmatch_start Unexecuted instantiation: ansi.c:mutt_regmatch_start Unexecuted instantiation: attr.c:mutt_regmatch_start Unexecuted instantiation: color.c:mutt_regmatch_start Unexecuted instantiation: command.c:mutt_regmatch_start Unexecuted instantiation: curses.c:mutt_regmatch_start Unexecuted instantiation: merged.c:mutt_regmatch_start Unexecuted instantiation: notify.c:mutt_regmatch_start Unexecuted instantiation: quoted.c:mutt_regmatch_start Unexecuted instantiation: regex.c:mutt_regmatch_start Unexecuted instantiation: helpbar.c:mutt_regmatch_start Unexecuted instantiation: mbox.c:mutt_regmatch_start Unexecuted instantiation: maildir.c:mutt_regmatch_start Unexecuted instantiation: mdemail.c:mutt_regmatch_start Unexecuted instantiation: mh.c:mutt_regmatch_start Unexecuted instantiation: sequence.c:mutt_regmatch_start Unexecuted instantiation: shared.c:mutt_regmatch_start Unexecuted instantiation: crypt.c:mutt_regmatch_start Unexecuted instantiation: crypt_mod.c:mutt_regmatch_start Unexecuted instantiation: cryptglue.c:mutt_regmatch_start Unexecuted instantiation: pgp.c:mutt_regmatch_start Unexecuted instantiation: pgpinvoke.c:mutt_regmatch_start Unexecuted instantiation: pgpkey.c:mutt_regmatch_start Unexecuted instantiation: pgplib.c:mutt_regmatch_start Unexecuted instantiation: pgpmicalg.c:mutt_regmatch_start Unexecuted instantiation: pgppacket.c:mutt_regmatch_start Unexecuted instantiation: smime.c:mutt_regmatch_start Unexecuted instantiation: dlg_pgp.c:mutt_regmatch_start Unexecuted instantiation: gnupgparse.c:mutt_regmatch_start Unexecuted instantiation: pgp_functions.c:mutt_regmatch_start Unexecuted instantiation: dlg_smime.c:mutt_regmatch_start Unexecuted instantiation: smime_functions.c:mutt_regmatch_start Unexecuted instantiation: imap.c:mutt_regmatch_start Unexecuted instantiation: msg_set.c:mutt_regmatch_start Unexecuted instantiation: msn.c:mutt_regmatch_start Unexecuted instantiation: search.c:mutt_regmatch_start Unexecuted instantiation: util.c:mutt_regmatch_start Unexecuted instantiation: auth_login.c:mutt_regmatch_start Unexecuted instantiation: auth_oauth.c:mutt_regmatch_start Unexecuted instantiation: auth_plain.c:mutt_regmatch_start Unexecuted instantiation: utf7.c:mutt_regmatch_start Unexecuted instantiation: auth_anon.c:mutt_regmatch_start Unexecuted instantiation: auth_cram.c:mutt_regmatch_start Unexecuted instantiation: connaccount.c:mutt_regmatch_start Unexecuted instantiation: getdomain.c:mutt_regmatch_start Unexecuted instantiation: sasl_plain.c:mutt_regmatch_start Unexecuted instantiation: socket.c:mutt_regmatch_start Unexecuted instantiation: tunnel.c:mutt_regmatch_start Unexecuted instantiation: accountcmd.c:mutt_regmatch_start Unexecuted instantiation: raw.c:mutt_regmatch_start Unexecuted instantiation: sidebar.c:mutt_regmatch_start Unexecuted instantiation: bcache.c:mutt_regmatch_start Unexecuted instantiation: history.c:mutt_regmatch_start Unexecuted instantiation: dlg_history.c:mutt_regmatch_start Unexecuted instantiation: account.c:mutt_regmatch_start Unexecuted instantiation: config_cache.c:mutt_regmatch_start Unexecuted instantiation: dispatcher.c:mutt_regmatch_start Unexecuted instantiation: mailbox.c:mutt_regmatch_start Unexecuted instantiation: neomutt.c:mutt_regmatch_start Unexecuted instantiation: tmp.c:mutt_regmatch_start Unexecuted instantiation: extract.c:mutt_regmatch_start Unexecuted instantiation: rc.c:mutt_regmatch_start Unexecuted instantiation: set.c:mutt_regmatch_start Unexecuted instantiation: bool.c:mutt_regmatch_start Unexecuted instantiation: charset.c:mutt_regmatch_start Unexecuted instantiation: enum.c:mutt_regmatch_start Unexecuted instantiation: long.c:mutt_regmatch_start Unexecuted instantiation: mbtable.c:mutt_regmatch_start Unexecuted instantiation: myvar.c:mutt_regmatch_start Unexecuted instantiation: number.c:mutt_regmatch_start Unexecuted instantiation: path.c:mutt_regmatch_start Unexecuted instantiation: quad.c:mutt_regmatch_start Unexecuted instantiation: slist.c:mutt_regmatch_start Unexecuted instantiation: string.c:mutt_regmatch_start Unexecuted instantiation: subset.c:mutt_regmatch_start Unexecuted instantiation: email.c:mutt_regmatch_start Unexecuted instantiation: envelope.c:mutt_regmatch_start Unexecuted instantiation: from.c:mutt_regmatch_start Unexecuted instantiation: parameter.c:mutt_regmatch_start Unexecuted instantiation: rfc2047.c:mutt_regmatch_start Unexecuted instantiation: rfc2231.c:mutt_regmatch_start Unexecuted instantiation: tags.c:mutt_regmatch_start Unexecuted instantiation: thread.c:mutt_regmatch_start Unexecuted instantiation: url.c:mutt_regmatch_start Unexecuted instantiation: config_type.c:mutt_regmatch_start Unexecuted instantiation: group.c:mutt_regmatch_start Unexecuted instantiation: idna.c:mutt_regmatch_start date.c:mutt_regmatch_start Line | Count | Source | 61 | 99.7k | { | 62 | 99.7k | return match->rm_so; | 63 | 99.7k | } |
Unexecuted instantiation: prex.c:mutt_regmatch_start |
64 | | |
65 | | /** |
66 | | * mutt_regmatch_end - Return the end of a match |
67 | | * @param match Match |
68 | | * @retval num End of the match |
69 | | */ |
70 | | static inline regoff_t mutt_regmatch_end(const regmatch_t *match) |
71 | 0 | { |
72 | 0 | return match->rm_eo; |
73 | 0 | } Unexecuted instantiation: address.c:mutt_regmatch_end Unexecuted instantiation: alternates.c:mutt_regmatch_end Unexecuted instantiation: commands.c:mutt_regmatch_end Unexecuted instantiation: copy.c:mutt_regmatch_end Unexecuted instantiation: editmsg.c:mutt_regmatch_end Unexecuted instantiation: enriched.c:mutt_regmatch_end Unexecuted instantiation: external.c:mutt_regmatch_end Unexecuted instantiation: flags.c:mutt_regmatch_end Unexecuted instantiation: globals.c:mutt_regmatch_end Unexecuted instantiation: handler.c:mutt_regmatch_end Unexecuted instantiation: hdrline.c:mutt_regmatch_end Unexecuted instantiation: help.c:mutt_regmatch_end Unexecuted instantiation: hook.c:mutt_regmatch_end Unexecuted instantiation: init.c:mutt_regmatch_end Unexecuted instantiation: mailcap.c:mutt_regmatch_end Unexecuted instantiation: maillist.c:mutt_regmatch_end Unexecuted instantiation: main.c:mutt_regmatch_end Unexecuted instantiation: muttlib.c:mutt_regmatch_end Unexecuted instantiation: mutt_account.c:mutt_regmatch_end Unexecuted instantiation: mutt_body.c:mutt_regmatch_end Unexecuted instantiation: mutt_config.c:mutt_regmatch_end Unexecuted instantiation: mutt_header.c:mutt_regmatch_end Unexecuted instantiation: mutt_logging.c:mutt_regmatch_end Unexecuted instantiation: mutt_mailbox.c:mutt_regmatch_end Unexecuted instantiation: mutt_signal.c:mutt_regmatch_end Unexecuted instantiation: mutt_socket.c:mutt_regmatch_end Unexecuted instantiation: mutt_thread.c:mutt_regmatch_end Unexecuted instantiation: mview.c:mutt_regmatch_end Unexecuted instantiation: mx.c:mutt_regmatch_end Unexecuted instantiation: recvcmd.c:mutt_regmatch_end Unexecuted instantiation: rfc3676.c:mutt_regmatch_end Unexecuted instantiation: score.c:mutt_regmatch_end Unexecuted instantiation: sort.c:mutt_regmatch_end Unexecuted instantiation: status.c:mutt_regmatch_end Unexecuted instantiation: subjectrx.c:mutt_regmatch_end Unexecuted instantiation: system.c:mutt_regmatch_end Unexecuted instantiation: version.c:mutt_regmatch_end Unexecuted instantiation: monitor.c:mutt_regmatch_end Unexecuted instantiation: config.c:mutt_regmatch_end Unexecuted instantiation: dlg_index.c:mutt_regmatch_end Unexecuted instantiation: functions.c:mutt_regmatch_end Unexecuted instantiation: index.c:mutt_regmatch_end Unexecuted instantiation: ipanel.c:mutt_regmatch_end Unexecuted instantiation: private_data.c:mutt_regmatch_end Unexecuted instantiation: shared_data.c:mutt_regmatch_end Unexecuted instantiation: ibar.c:mutt_regmatch_end Unexecuted instantiation: display.c:mutt_regmatch_end Unexecuted instantiation: dlg_pager.c:mutt_regmatch_end Unexecuted instantiation: do_pager.c:mutt_regmatch_end Unexecuted instantiation: message.c:mutt_regmatch_end Unexecuted instantiation: ppanel.c:mutt_regmatch_end Unexecuted instantiation: pager.c:mutt_regmatch_end Unexecuted instantiation: pbar.c:mutt_regmatch_end Unexecuted instantiation: pop.c:mutt_regmatch_end Unexecuted instantiation: adata.c:mutt_regmatch_end Unexecuted instantiation: auth.c:mutt_regmatch_end Unexecuted instantiation: edata.c:mutt_regmatch_end Unexecuted instantiation: lib.c:mutt_regmatch_end Unexecuted instantiation: window.c:mutt_regmatch_end Unexecuted instantiation: state.c:mutt_regmatch_end Unexecuted instantiation: enter.c:mutt_regmatch_end Unexecuted instantiation: data.c:mutt_regmatch_end Unexecuted instantiation: helpers.c:mutt_regmatch_end Unexecuted instantiation: complete.c:mutt_regmatch_end Unexecuted instantiation: dlg_browser.c:mutt_regmatch_end Unexecuted instantiation: compress.c:mutt_regmatch_end Unexecuted instantiation: progress.c:mutt_regmatch_end Unexecuted instantiation: wdata.c:mutt_regmatch_end Unexecuted instantiation: question.c:mutt_regmatch_end Unexecuted instantiation: postpone.c:mutt_regmatch_end Unexecuted instantiation: dlg_postpone.c:mutt_regmatch_end Unexecuted instantiation: alias.c:mutt_regmatch_end Unexecuted instantiation: dlg_alias.c:mutt_regmatch_end Unexecuted instantiation: dlg_query.c:mutt_regmatch_end Unexecuted instantiation: gui.c:mutt_regmatch_end Unexecuted instantiation: reverse.c:mutt_regmatch_end Unexecuted instantiation: array.c:mutt_regmatch_end Unexecuted instantiation: body.c:mutt_regmatch_end Unexecuted instantiation: header.c:mutt_regmatch_end Unexecuted instantiation: multipart.c:mutt_regmatch_end Unexecuted instantiation: send.c:mutt_regmatch_end Unexecuted instantiation: sendlib.c:mutt_regmatch_end Unexecuted instantiation: sendmail.c:mutt_regmatch_end Unexecuted instantiation: smtp.c:mutt_regmatch_end Unexecuted instantiation: content_info.c:mutt_regmatch_end Unexecuted instantiation: convert.c:mutt_regmatch_end Unexecuted instantiation: dlg_compose.c:mutt_regmatch_end Unexecuted instantiation: attach.c:mutt_regmatch_end Unexecuted instantiation: attach_data.c:mutt_regmatch_end Unexecuted instantiation: cbar.c:mutt_regmatch_end Unexecuted instantiation: cbar_data.c:mutt_regmatch_end Unexecuted instantiation: attachments.c:mutt_regmatch_end Unexecuted instantiation: dlg_attach.c:mutt_regmatch_end Unexecuted instantiation: mutt_attach.c:mutt_regmatch_end Unexecuted instantiation: recvattach.c:mutt_regmatch_end Unexecuted instantiation: cid.c:mutt_regmatch_end Unexecuted instantiation: get.c:mutt_regmatch_end Unexecuted instantiation: parse.c:mutt_regmatch_end Unexecuted instantiation: dump.c:mutt_regmatch_end Unexecuted instantiation: curs_lib.c:mutt_regmatch_end Unexecuted instantiation: dialog.c:mutt_regmatch_end Unexecuted instantiation: global.c:mutt_regmatch_end Unexecuted instantiation: msgcont.c:mutt_regmatch_end Unexecuted instantiation: msgwin.c:mutt_regmatch_end Unexecuted instantiation: msgwin_wdata.c:mutt_regmatch_end Unexecuted instantiation: mutt_curses.c:mutt_regmatch_end Unexecuted instantiation: mutt_window.c:mutt_regmatch_end Unexecuted instantiation: opcodes.c:mutt_regmatch_end Unexecuted instantiation: reflow.c:mutt_regmatch_end Unexecuted instantiation: resize.c:mutt_regmatch_end Unexecuted instantiation: rootwin.c:mutt_regmatch_end Unexecuted instantiation: sbar.c:mutt_regmatch_end Unexecuted instantiation: simple.c:mutt_regmatch_end Unexecuted instantiation: terminal.c:mutt_regmatch_end Unexecuted instantiation: browse.c:mutt_regmatch_end Unexecuted instantiation: newsrc.c:mutt_regmatch_end Unexecuted instantiation: nntp.c:mutt_regmatch_end Unexecuted instantiation: mdata.c:mutt_regmatch_end Unexecuted instantiation: compile.c:mutt_regmatch_end Unexecuted instantiation: dlg_pattern.c:mutt_regmatch_end Unexecuted instantiation: exec.c:mutt_regmatch_end Unexecuted instantiation: pattern.c:mutt_regmatch_end Unexecuted instantiation: search_state.c:mutt_regmatch_end Unexecuted instantiation: draw.c:mutt_regmatch_end Unexecuted instantiation: menu.c:mutt_regmatch_end Unexecuted instantiation: move.c:mutt_regmatch_end Unexecuted instantiation: observer.c:mutt_regmatch_end Unexecuted instantiation: tagging.c:mutt_regmatch_end Unexecuted instantiation: type.c:mutt_regmatch_end Unexecuted instantiation: ansi.c:mutt_regmatch_end Unexecuted instantiation: attr.c:mutt_regmatch_end Unexecuted instantiation: color.c:mutt_regmatch_end Unexecuted instantiation: command.c:mutt_regmatch_end Unexecuted instantiation: curses.c:mutt_regmatch_end Unexecuted instantiation: merged.c:mutt_regmatch_end Unexecuted instantiation: notify.c:mutt_regmatch_end Unexecuted instantiation: quoted.c:mutt_regmatch_end Unexecuted instantiation: regex.c:mutt_regmatch_end Unexecuted instantiation: helpbar.c:mutt_regmatch_end Unexecuted instantiation: mbox.c:mutt_regmatch_end Unexecuted instantiation: maildir.c:mutt_regmatch_end Unexecuted instantiation: mdemail.c:mutt_regmatch_end Unexecuted instantiation: mh.c:mutt_regmatch_end Unexecuted instantiation: sequence.c:mutt_regmatch_end Unexecuted instantiation: shared.c:mutt_regmatch_end Unexecuted instantiation: crypt.c:mutt_regmatch_end Unexecuted instantiation: crypt_mod.c:mutt_regmatch_end Unexecuted instantiation: cryptglue.c:mutt_regmatch_end Unexecuted instantiation: pgp.c:mutt_regmatch_end Unexecuted instantiation: pgpinvoke.c:mutt_regmatch_end Unexecuted instantiation: pgpkey.c:mutt_regmatch_end Unexecuted instantiation: pgplib.c:mutt_regmatch_end Unexecuted instantiation: pgpmicalg.c:mutt_regmatch_end Unexecuted instantiation: pgppacket.c:mutt_regmatch_end Unexecuted instantiation: smime.c:mutt_regmatch_end Unexecuted instantiation: dlg_pgp.c:mutt_regmatch_end Unexecuted instantiation: gnupgparse.c:mutt_regmatch_end Unexecuted instantiation: pgp_functions.c:mutt_regmatch_end Unexecuted instantiation: dlg_smime.c:mutt_regmatch_end Unexecuted instantiation: smime_functions.c:mutt_regmatch_end Unexecuted instantiation: imap.c:mutt_regmatch_end Unexecuted instantiation: msg_set.c:mutt_regmatch_end Unexecuted instantiation: msn.c:mutt_regmatch_end Unexecuted instantiation: search.c:mutt_regmatch_end Unexecuted instantiation: util.c:mutt_regmatch_end Unexecuted instantiation: auth_login.c:mutt_regmatch_end Unexecuted instantiation: auth_oauth.c:mutt_regmatch_end Unexecuted instantiation: auth_plain.c:mutt_regmatch_end Unexecuted instantiation: utf7.c:mutt_regmatch_end Unexecuted instantiation: auth_anon.c:mutt_regmatch_end Unexecuted instantiation: auth_cram.c:mutt_regmatch_end Unexecuted instantiation: connaccount.c:mutt_regmatch_end Unexecuted instantiation: getdomain.c:mutt_regmatch_end Unexecuted instantiation: sasl_plain.c:mutt_regmatch_end Unexecuted instantiation: socket.c:mutt_regmatch_end Unexecuted instantiation: tunnel.c:mutt_regmatch_end Unexecuted instantiation: accountcmd.c:mutt_regmatch_end Unexecuted instantiation: raw.c:mutt_regmatch_end Unexecuted instantiation: sidebar.c:mutt_regmatch_end Unexecuted instantiation: bcache.c:mutt_regmatch_end Unexecuted instantiation: history.c:mutt_regmatch_end Unexecuted instantiation: dlg_history.c:mutt_regmatch_end Unexecuted instantiation: account.c:mutt_regmatch_end Unexecuted instantiation: config_cache.c:mutt_regmatch_end Unexecuted instantiation: dispatcher.c:mutt_regmatch_end Unexecuted instantiation: mailbox.c:mutt_regmatch_end Unexecuted instantiation: neomutt.c:mutt_regmatch_end Unexecuted instantiation: tmp.c:mutt_regmatch_end Unexecuted instantiation: extract.c:mutt_regmatch_end Unexecuted instantiation: rc.c:mutt_regmatch_end Unexecuted instantiation: set.c:mutt_regmatch_end Unexecuted instantiation: bool.c:mutt_regmatch_end Unexecuted instantiation: charset.c:mutt_regmatch_end Unexecuted instantiation: enum.c:mutt_regmatch_end Unexecuted instantiation: long.c:mutt_regmatch_end Unexecuted instantiation: mbtable.c:mutt_regmatch_end Unexecuted instantiation: myvar.c:mutt_regmatch_end Unexecuted instantiation: number.c:mutt_regmatch_end Unexecuted instantiation: path.c:mutt_regmatch_end Unexecuted instantiation: quad.c:mutt_regmatch_end Unexecuted instantiation: slist.c:mutt_regmatch_end Unexecuted instantiation: string.c:mutt_regmatch_end Unexecuted instantiation: subset.c:mutt_regmatch_end Unexecuted instantiation: email.c:mutt_regmatch_end Unexecuted instantiation: envelope.c:mutt_regmatch_end Unexecuted instantiation: from.c:mutt_regmatch_end Unexecuted instantiation: parameter.c:mutt_regmatch_end Unexecuted instantiation: rfc2047.c:mutt_regmatch_end Unexecuted instantiation: rfc2231.c:mutt_regmatch_end Unexecuted instantiation: tags.c:mutt_regmatch_end Unexecuted instantiation: thread.c:mutt_regmatch_end Unexecuted instantiation: url.c:mutt_regmatch_end Unexecuted instantiation: config_type.c:mutt_regmatch_end Unexecuted instantiation: group.c:mutt_regmatch_end Unexecuted instantiation: idna.c:mutt_regmatch_end Unexecuted instantiation: date.c:mutt_regmatch_end Unexecuted instantiation: prex.c:mutt_regmatch_end |
74 | | |
75 | | /** |
76 | | * mutt_regmatch_len - Return the length of a match |
77 | | * @param match Match |
78 | | * @retval num Length of the match |
79 | | */ |
80 | | static inline size_t mutt_regmatch_len(const regmatch_t *match) |
81 | 3.95k | { |
82 | 3.95k | return match->rm_eo - match->rm_so; |
83 | 3.95k | } Unexecuted instantiation: address.c:mutt_regmatch_len Unexecuted instantiation: alternates.c:mutt_regmatch_len Unexecuted instantiation: commands.c:mutt_regmatch_len Unexecuted instantiation: copy.c:mutt_regmatch_len Unexecuted instantiation: editmsg.c:mutt_regmatch_len Unexecuted instantiation: enriched.c:mutt_regmatch_len Unexecuted instantiation: external.c:mutt_regmatch_len Unexecuted instantiation: flags.c:mutt_regmatch_len Unexecuted instantiation: globals.c:mutt_regmatch_len Unexecuted instantiation: handler.c:mutt_regmatch_len Unexecuted instantiation: hdrline.c:mutt_regmatch_len Unexecuted instantiation: help.c:mutt_regmatch_len Unexecuted instantiation: hook.c:mutt_regmatch_len Unexecuted instantiation: init.c:mutt_regmatch_len Unexecuted instantiation: mailcap.c:mutt_regmatch_len Unexecuted instantiation: maillist.c:mutt_regmatch_len Unexecuted instantiation: main.c:mutt_regmatch_len Unexecuted instantiation: muttlib.c:mutt_regmatch_len Unexecuted instantiation: mutt_account.c:mutt_regmatch_len Unexecuted instantiation: mutt_body.c:mutt_regmatch_len Unexecuted instantiation: mutt_config.c:mutt_regmatch_len Unexecuted instantiation: mutt_header.c:mutt_regmatch_len Unexecuted instantiation: mutt_logging.c:mutt_regmatch_len Unexecuted instantiation: mutt_mailbox.c:mutt_regmatch_len Unexecuted instantiation: mutt_signal.c:mutt_regmatch_len Unexecuted instantiation: mutt_socket.c:mutt_regmatch_len Unexecuted instantiation: mutt_thread.c:mutt_regmatch_len Unexecuted instantiation: mview.c:mutt_regmatch_len Unexecuted instantiation: mx.c:mutt_regmatch_len Unexecuted instantiation: recvcmd.c:mutt_regmatch_len Unexecuted instantiation: rfc3676.c:mutt_regmatch_len Unexecuted instantiation: score.c:mutt_regmatch_len Unexecuted instantiation: sort.c:mutt_regmatch_len Unexecuted instantiation: status.c:mutt_regmatch_len Unexecuted instantiation: subjectrx.c:mutt_regmatch_len Unexecuted instantiation: system.c:mutt_regmatch_len Unexecuted instantiation: version.c:mutt_regmatch_len Unexecuted instantiation: monitor.c:mutt_regmatch_len Unexecuted instantiation: config.c:mutt_regmatch_len Unexecuted instantiation: dlg_index.c:mutt_regmatch_len Unexecuted instantiation: functions.c:mutt_regmatch_len Unexecuted instantiation: index.c:mutt_regmatch_len Unexecuted instantiation: ipanel.c:mutt_regmatch_len Unexecuted instantiation: private_data.c:mutt_regmatch_len Unexecuted instantiation: shared_data.c:mutt_regmatch_len Unexecuted instantiation: ibar.c:mutt_regmatch_len Unexecuted instantiation: display.c:mutt_regmatch_len Unexecuted instantiation: dlg_pager.c:mutt_regmatch_len Unexecuted instantiation: do_pager.c:mutt_regmatch_len Unexecuted instantiation: message.c:mutt_regmatch_len Unexecuted instantiation: ppanel.c:mutt_regmatch_len Unexecuted instantiation: pager.c:mutt_regmatch_len Unexecuted instantiation: pbar.c:mutt_regmatch_len Unexecuted instantiation: pop.c:mutt_regmatch_len Unexecuted instantiation: adata.c:mutt_regmatch_len Unexecuted instantiation: auth.c:mutt_regmatch_len Unexecuted instantiation: edata.c:mutt_regmatch_len Unexecuted instantiation: lib.c:mutt_regmatch_len Unexecuted instantiation: window.c:mutt_regmatch_len Unexecuted instantiation: state.c:mutt_regmatch_len Unexecuted instantiation: enter.c:mutt_regmatch_len Unexecuted instantiation: data.c:mutt_regmatch_len Unexecuted instantiation: helpers.c:mutt_regmatch_len Unexecuted instantiation: complete.c:mutt_regmatch_len Unexecuted instantiation: dlg_browser.c:mutt_regmatch_len Unexecuted instantiation: compress.c:mutt_regmatch_len Unexecuted instantiation: progress.c:mutt_regmatch_len Unexecuted instantiation: wdata.c:mutt_regmatch_len Unexecuted instantiation: question.c:mutt_regmatch_len Unexecuted instantiation: postpone.c:mutt_regmatch_len Unexecuted instantiation: dlg_postpone.c:mutt_regmatch_len Unexecuted instantiation: alias.c:mutt_regmatch_len Unexecuted instantiation: dlg_alias.c:mutt_regmatch_len Unexecuted instantiation: dlg_query.c:mutt_regmatch_len Unexecuted instantiation: gui.c:mutt_regmatch_len Unexecuted instantiation: reverse.c:mutt_regmatch_len Unexecuted instantiation: array.c:mutt_regmatch_len Unexecuted instantiation: body.c:mutt_regmatch_len Unexecuted instantiation: header.c:mutt_regmatch_len Unexecuted instantiation: multipart.c:mutt_regmatch_len Unexecuted instantiation: send.c:mutt_regmatch_len Unexecuted instantiation: sendlib.c:mutt_regmatch_len Unexecuted instantiation: sendmail.c:mutt_regmatch_len Unexecuted instantiation: smtp.c:mutt_regmatch_len Unexecuted instantiation: content_info.c:mutt_regmatch_len Unexecuted instantiation: convert.c:mutt_regmatch_len Unexecuted instantiation: dlg_compose.c:mutt_regmatch_len Unexecuted instantiation: attach.c:mutt_regmatch_len Unexecuted instantiation: attach_data.c:mutt_regmatch_len Unexecuted instantiation: cbar.c:mutt_regmatch_len Unexecuted instantiation: cbar_data.c:mutt_regmatch_len Unexecuted instantiation: attachments.c:mutt_regmatch_len Unexecuted instantiation: dlg_attach.c:mutt_regmatch_len Unexecuted instantiation: mutt_attach.c:mutt_regmatch_len Unexecuted instantiation: recvattach.c:mutt_regmatch_len Unexecuted instantiation: cid.c:mutt_regmatch_len Unexecuted instantiation: get.c:mutt_regmatch_len Unexecuted instantiation: parse.c:mutt_regmatch_len Unexecuted instantiation: dump.c:mutt_regmatch_len Unexecuted instantiation: curs_lib.c:mutt_regmatch_len Unexecuted instantiation: dialog.c:mutt_regmatch_len Unexecuted instantiation: global.c:mutt_regmatch_len Unexecuted instantiation: msgcont.c:mutt_regmatch_len Unexecuted instantiation: msgwin.c:mutt_regmatch_len Unexecuted instantiation: msgwin_wdata.c:mutt_regmatch_len Unexecuted instantiation: mutt_curses.c:mutt_regmatch_len Unexecuted instantiation: mutt_window.c:mutt_regmatch_len Unexecuted instantiation: opcodes.c:mutt_regmatch_len Unexecuted instantiation: reflow.c:mutt_regmatch_len Unexecuted instantiation: resize.c:mutt_regmatch_len Unexecuted instantiation: rootwin.c:mutt_regmatch_len Unexecuted instantiation: sbar.c:mutt_regmatch_len Unexecuted instantiation: simple.c:mutt_regmatch_len Unexecuted instantiation: terminal.c:mutt_regmatch_len Unexecuted instantiation: browse.c:mutt_regmatch_len Unexecuted instantiation: newsrc.c:mutt_regmatch_len Unexecuted instantiation: nntp.c:mutt_regmatch_len Unexecuted instantiation: mdata.c:mutt_regmatch_len Unexecuted instantiation: compile.c:mutt_regmatch_len Unexecuted instantiation: dlg_pattern.c:mutt_regmatch_len Unexecuted instantiation: exec.c:mutt_regmatch_len Unexecuted instantiation: pattern.c:mutt_regmatch_len Unexecuted instantiation: search_state.c:mutt_regmatch_len Unexecuted instantiation: draw.c:mutt_regmatch_len Unexecuted instantiation: menu.c:mutt_regmatch_len Unexecuted instantiation: move.c:mutt_regmatch_len Unexecuted instantiation: observer.c:mutt_regmatch_len Unexecuted instantiation: tagging.c:mutt_regmatch_len Unexecuted instantiation: type.c:mutt_regmatch_len Unexecuted instantiation: ansi.c:mutt_regmatch_len Unexecuted instantiation: attr.c:mutt_regmatch_len Unexecuted instantiation: color.c:mutt_regmatch_len Unexecuted instantiation: command.c:mutt_regmatch_len Unexecuted instantiation: curses.c:mutt_regmatch_len Unexecuted instantiation: merged.c:mutt_regmatch_len Unexecuted instantiation: notify.c:mutt_regmatch_len Unexecuted instantiation: quoted.c:mutt_regmatch_len Unexecuted instantiation: regex.c:mutt_regmatch_len Unexecuted instantiation: helpbar.c:mutt_regmatch_len Unexecuted instantiation: mbox.c:mutt_regmatch_len Unexecuted instantiation: maildir.c:mutt_regmatch_len Unexecuted instantiation: mdemail.c:mutt_regmatch_len Unexecuted instantiation: mh.c:mutt_regmatch_len Unexecuted instantiation: sequence.c:mutt_regmatch_len Unexecuted instantiation: shared.c:mutt_regmatch_len Unexecuted instantiation: crypt.c:mutt_regmatch_len Unexecuted instantiation: crypt_mod.c:mutt_regmatch_len Unexecuted instantiation: cryptglue.c:mutt_regmatch_len Unexecuted instantiation: pgp.c:mutt_regmatch_len Unexecuted instantiation: pgpinvoke.c:mutt_regmatch_len Unexecuted instantiation: pgpkey.c:mutt_regmatch_len Unexecuted instantiation: pgplib.c:mutt_regmatch_len Unexecuted instantiation: pgpmicalg.c:mutt_regmatch_len Unexecuted instantiation: pgppacket.c:mutt_regmatch_len Unexecuted instantiation: smime.c:mutt_regmatch_len Unexecuted instantiation: dlg_pgp.c:mutt_regmatch_len Unexecuted instantiation: gnupgparse.c:mutt_regmatch_len Unexecuted instantiation: pgp_functions.c:mutt_regmatch_len Unexecuted instantiation: dlg_smime.c:mutt_regmatch_len Unexecuted instantiation: smime_functions.c:mutt_regmatch_len Unexecuted instantiation: imap.c:mutt_regmatch_len Unexecuted instantiation: msg_set.c:mutt_regmatch_len Unexecuted instantiation: msn.c:mutt_regmatch_len Unexecuted instantiation: search.c:mutt_regmatch_len Unexecuted instantiation: util.c:mutt_regmatch_len Unexecuted instantiation: auth_login.c:mutt_regmatch_len Unexecuted instantiation: auth_oauth.c:mutt_regmatch_len Unexecuted instantiation: auth_plain.c:mutt_regmatch_len Unexecuted instantiation: utf7.c:mutt_regmatch_len Unexecuted instantiation: auth_anon.c:mutt_regmatch_len Unexecuted instantiation: auth_cram.c:mutt_regmatch_len Unexecuted instantiation: connaccount.c:mutt_regmatch_len Unexecuted instantiation: getdomain.c:mutt_regmatch_len Unexecuted instantiation: sasl_plain.c:mutt_regmatch_len Unexecuted instantiation: socket.c:mutt_regmatch_len Unexecuted instantiation: tunnel.c:mutt_regmatch_len Unexecuted instantiation: accountcmd.c:mutt_regmatch_len Unexecuted instantiation: raw.c:mutt_regmatch_len Unexecuted instantiation: sidebar.c:mutt_regmatch_len Unexecuted instantiation: bcache.c:mutt_regmatch_len Unexecuted instantiation: history.c:mutt_regmatch_len Unexecuted instantiation: dlg_history.c:mutt_regmatch_len Unexecuted instantiation: account.c:mutt_regmatch_len Unexecuted instantiation: config_cache.c:mutt_regmatch_len Unexecuted instantiation: dispatcher.c:mutt_regmatch_len Unexecuted instantiation: mailbox.c:mutt_regmatch_len Unexecuted instantiation: neomutt.c:mutt_regmatch_len Unexecuted instantiation: tmp.c:mutt_regmatch_len Unexecuted instantiation: extract.c:mutt_regmatch_len Unexecuted instantiation: rc.c:mutt_regmatch_len Unexecuted instantiation: set.c:mutt_regmatch_len Unexecuted instantiation: bool.c:mutt_regmatch_len Unexecuted instantiation: charset.c:mutt_regmatch_len Unexecuted instantiation: enum.c:mutt_regmatch_len Unexecuted instantiation: long.c:mutt_regmatch_len Unexecuted instantiation: mbtable.c:mutt_regmatch_len Unexecuted instantiation: myvar.c:mutt_regmatch_len Unexecuted instantiation: number.c:mutt_regmatch_len Unexecuted instantiation: path.c:mutt_regmatch_len Unexecuted instantiation: quad.c:mutt_regmatch_len Unexecuted instantiation: slist.c:mutt_regmatch_len Unexecuted instantiation: string.c:mutt_regmatch_len Unexecuted instantiation: subset.c:mutt_regmatch_len Unexecuted instantiation: email.c:mutt_regmatch_len Unexecuted instantiation: envelope.c:mutt_regmatch_len Unexecuted instantiation: from.c:mutt_regmatch_len Unexecuted instantiation: parameter.c:mutt_regmatch_len Unexecuted instantiation: rfc2047.c:mutt_regmatch_len Unexecuted instantiation: rfc2231.c:mutt_regmatch_len Unexecuted instantiation: tags.c:mutt_regmatch_len Unexecuted instantiation: thread.c:mutt_regmatch_len Line | Count | Source | 81 | 1.17k | { | 82 | 1.17k | return match->rm_eo - match->rm_so; | 83 | 1.17k | } |
Unexecuted instantiation: config_type.c:mutt_regmatch_len Unexecuted instantiation: group.c:mutt_regmatch_len Unexecuted instantiation: idna.c:mutt_regmatch_len Line | Count | Source | 81 | 2.77k | { | 82 | 2.77k | return match->rm_eo - match->rm_so; | 83 | 2.77k | } |
Unexecuted instantiation: prex.c:mutt_regmatch_len |
84 | | |
85 | | /** |
86 | | * struct Regex - Cached regular expression |
87 | | */ |
88 | | struct Regex |
89 | | { |
90 | | char *pattern; ///< printable version |
91 | | regex_t *regex; ///< compiled expression |
92 | | bool pat_not; ///< do not match |
93 | | }; |
94 | | |
95 | | /** |
96 | | * struct RegexNode - List of regular expressions |
97 | | */ |
98 | | struct RegexNode |
99 | | { |
100 | | struct Regex *regex; ///< Regex containing a regular expression |
101 | | STAILQ_ENTRY(RegexNode) entries; ///< Linked list |
102 | | }; |
103 | | STAILQ_HEAD(RegexList, RegexNode); |
104 | | |
105 | | /** |
106 | | * struct Replace - List of regular expressions |
107 | | */ |
108 | | struct Replace |
109 | | { |
110 | | struct Regex *regex; ///< Regex containing a regular expression |
111 | | size_t nmatch; ///< Match the 'nth' occurrence (0 means the whole expression) |
112 | | char *templ; ///< Template to match |
113 | | STAILQ_ENTRY(Replace) entries; ///< Linked list |
114 | | }; |
115 | | STAILQ_HEAD(ReplaceList, Replace); |
116 | | |
117 | | struct Regex *mutt_regex_compile(const char *str, uint16_t flags); |
118 | | struct Regex *mutt_regex_new(const char *str, uint32_t flags, struct Buffer *err); |
119 | | void mutt_regex_free(struct Regex **ptr); |
120 | | |
121 | | int mutt_regexlist_add (struct RegexList *rl, const char *str, uint16_t flags, struct Buffer *err); |
122 | | void mutt_regexlist_free (struct RegexList *rl); |
123 | | bool mutt_regexlist_match (struct RegexList *rl, const char *str); |
124 | | struct RegexNode *mutt_regexlist_new (void); |
125 | | int mutt_regexlist_remove(struct RegexList *rl, const char *str); |
126 | | |
127 | | int mutt_replacelist_add (struct ReplaceList *rl, const char *pat, const char *templ, struct Buffer *err); |
128 | | char * mutt_replacelist_apply (struct ReplaceList *rl, char *buf, size_t buflen, const char *str); |
129 | | void mutt_replacelist_free (struct ReplaceList *rl); |
130 | | bool mutt_replacelist_match (struct ReplaceList *rl, char *buf, size_t buflen, const char *str); |
131 | | struct Replace *mutt_replacelist_new (void); |
132 | | int mutt_replacelist_remove(struct ReplaceList *rl, const char *pat); |
133 | | |
134 | | bool mutt_regex_match (const struct Regex *regex, const char *str); |
135 | | bool mutt_regex_capture(const struct Regex *regex, const char *str, size_t num, regmatch_t matches[]); |
136 | | |
137 | | #endif /* MUTT_MUTT_REGEX3_H */ |