diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2008-07-18 22:07:56 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2008-07-18 22:07:56 +0000 |
commit | e5b11edf9793f392bc9da33ddc4fd0639376df43 (patch) | |
tree | 63770e11d7a7ea9c476fde6dfb38852f8af1edca /libsieve | |
parent | 69b1db83fd54b9b3caf44c208506f1f56a3d6f47 (diff) | |
download | mailutils-e5b11edf9793f392bc9da33ddc4fd0639376df43.tar.gz mailutils-e5b11edf9793f392bc9da33ddc4fd0639376df43.tar.bz2 |
Finish namespace cleanup in libsieve.
* libsieve/actions.c, libsieve/comparator.c, libsieve/conf.c,
libsieve/load.c, libsieve/prog.c, libsieve/register.c,
libsieve/relational.c, libsieve/require.c, libsieve/runtime.c,
libsieve/sieve.h, libsieve/sieve.l, libsieve/sieve.y,
libsieve/tests.c, libsieve/util.c: Prefix all external
identifiers, that are not intended for use by application
programs, with mu_sv_.
Diffstat (limited to 'libsieve')
-rw-r--r-- | libsieve/actions.c | 36 | ||||
-rw-r--r-- | libsieve/comparator.c | 36 | ||||
-rw-r--r-- | libsieve/conf.c | 2 | ||||
-rw-r--r-- | libsieve/load.c | 11 | ||||
-rw-r--r-- | libsieve/prog.c | 144 | ||||
-rw-r--r-- | libsieve/register.c | 2 | ||||
-rw-r--r-- | libsieve/relational.c | 2 | ||||
-rw-r--r-- | libsieve/require.c | 6 | ||||
-rw-r--r-- | libsieve/runtime.c | 4 | ||||
-rw-r--r-- | libsieve/sieve.h | 69 | ||||
-rw-r--r-- | libsieve/sieve.l | 31 | ||||
-rw-r--r-- | libsieve/sieve.y | 151 | ||||
-rw-r--r-- | libsieve/tests.c | 6 | ||||
-rw-r--r-- | libsieve/util.c | 75 |
14 files changed, 292 insertions, 283 deletions
diff --git a/libsieve/actions.c b/libsieve/actions.c index b7e5f8321..69807bf72 100644 --- a/libsieve/actions.c +++ b/libsieve/actions.c @@ -1,6 +1,6 @@ /* GNU Mailutils -- a suite of utilities for electronic mail Copyright (C) 1999, 2000, 2001, 2002, 2005, - 2006, 2007 Free Software Foundation, Inc. + 2006, 2007, 2008 Free Software Foundation, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -27,7 +27,27 @@ #include <string.h> #include <sieve.h> -int +static int +sieve_mark_deleted (mu_message_t msg, int deleted) +{ + mu_attribute_t attr = 0; + int rc; + + rc = mu_message_get_attribute (msg, &attr); + + if (!rc) + { + if (deleted) + rc = mu_attribute_set_deleted (attr); + else + rc = mu_attribute_unset_deleted (attr); + } + + return rc; +} + + +static int sieve_action_stop (mu_sieve_machine_t mach, mu_list_t args, mu_list_t tags) { mu_sieve_log_action (mach, "STOP", NULL); @@ -35,7 +55,7 @@ sieve_action_stop (mu_sieve_machine_t mach, mu_list_t args, mu_list_t tags) return 0; } -int +static int sieve_action_keep (mu_sieve_machine_t mach, mu_list_t args, mu_list_t tags) { mu_sieve_log_action (mach, "KEEP", NULL); @@ -45,7 +65,7 @@ sieve_action_keep (mu_sieve_machine_t mach, mu_list_t args, mu_list_t tags) return 0; } -int +static int sieve_action_discard (mu_sieve_machine_t mach, mu_list_t args, mu_list_t tags) { mu_sieve_log_action (mach, "DISCARD", _("marking as deleted")); @@ -55,7 +75,7 @@ sieve_action_discard (mu_sieve_machine_t mach, mu_list_t args, mu_list_t tags) return 0; } -int +static int sieve_action_fileinto (mu_sieve_machine_t mach, mu_list_t args, mu_list_t tags) { int rc; @@ -253,7 +273,7 @@ build_mime (mu_mime_t *pmime, mu_message_t msg, const char *text) return 0; } -int +static int sieve_action_reject (mu_sieve_machine_t mach, mu_list_t args, mu_list_t tags) { mu_mime_t mime = NULL; @@ -370,7 +390,7 @@ check_redirect_loop (mu_message_t msg) return loop; } -int +static int sieve_action_redirect (mu_sieve_machine_t mach, mu_list_t args, mu_list_t tags) { mu_message_t msg, newmsg = NULL; @@ -487,7 +507,7 @@ mu_sieve_data_type fileinto_args[] = { }; void -sieve_register_standard_actions (mu_sieve_machine_t mach) +mu_sv_register_standard_actions (mu_sieve_machine_t mach) { mu_sieve_register_action (mach, "stop", sieve_action_stop, NULL, NULL, 1); mu_sieve_register_action (mach, "keep", sieve_action_keep, NULL, NULL, 1); diff --git a/libsieve/comparator.c b/libsieve/comparator.c index d6a542788..d576844db 100644 --- a/libsieve/comparator.c +++ b/libsieve/comparator.c @@ -40,7 +40,8 @@ int mu_sieve_register_comparator (mu_sieve_machine_t mach, const char *name, int required, - mu_sieve_comparator_t is, mu_sieve_comparator_t contains, + mu_sieve_comparator_t is, + mu_sieve_comparator_t contains, mu_sieve_comparator_t matches, mu_sieve_comparator_t regex, mu_sieve_comparator_t eq) @@ -103,7 +104,8 @@ mu_sieve_require_comparator (mu_sieve_machine_t mach, const char *name) } mu_sieve_comparator_t -mu_sieve_comparator_lookup (mu_sieve_machine_t mach, const char *name, int matchtype) +mu_sieve_comparator_lookup (mu_sieve_machine_t mach, const char *name, + int matchtype) { sieve_comparator_record_t *reg = _lookup (mach->comp_list, name); if (reg && reg->comp[matchtype]) @@ -159,7 +161,7 @@ _regex_compile (void *item, void *data) { struct regex_data *rd = data; int rc; - regex_t *preg = mu_sieve_malloc (sieve_machine, sizeof (*preg)); + regex_t *preg = mu_sieve_malloc (mu_sieve_machine, sizeof (*preg)); rc = regcomp (preg, (char*)item, rd->flags); if (rc) @@ -169,11 +171,11 @@ _regex_compile (void *item, void *data) if (errbuf) { regerror (rc, preg, errbuf, size); - sieve_compile_error (&mu_sieve_locus, _("Regex error: %s"), errbuf); + mu_sv_compile_error (&mu_sieve_locus, _("Regex error: %s"), errbuf); free (errbuf); } else - sieve_compile_error (&mu_sieve_locus, _("Regex error")); + mu_sv_compile_error (&mu_sieve_locus, _("Regex error")); return rc; } @@ -204,7 +206,7 @@ comp_false (const char *pattern, const char *text) } int -mu_sieve_match_part_checker (const char *name, mu_list_t tags, mu_list_t args) +mu_sv_match_part_checker (const char *name, mu_list_t tags, mu_list_t args) { mu_iterator_t itr; mu_sieve_runtime_tag_t *match = NULL; @@ -234,7 +236,7 @@ mu_sieve_match_part_checker (const char *name, mu_list_t tags, mu_list_t args) { if (match) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("match type specified twice in call to `%s'"), name); err = 1; @@ -270,7 +272,7 @@ mu_sieve_match_part_checker (const char *name, mu_list_t tags, mu_list_t args) if (comp && strcmp (comp->arg->v.string, "i;ascii-numeric")) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, /* TRANSLATORS: Do not translate ':count'. It is the name of a Sieve tag */ _("comparator %s is incompatible with " @@ -289,7 +291,7 @@ mu_sieve_match_part_checker (const char *name, mu_list_t tags, mu_list_t args) mu_list_count (val->v.list, &count); if (count > 1) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("second argument must be a list of one element")); return 1; } @@ -297,7 +299,7 @@ mu_sieve_match_part_checker (const char *name, mu_list_t tags, mu_list_t args) count = strtoul (str, &str, 10); if (*str) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("second argument cannot be converted to number")); return 1; } @@ -307,7 +309,7 @@ mu_sieve_match_part_checker (const char *name, mu_list_t tags, mu_list_t args) if (mu_sieve_str_to_relcmp (str, NULL, NULL)) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("invalid relational match `%s' in call to `%s'"), str, name); return 1; @@ -317,17 +319,18 @@ mu_sieve_match_part_checker (const char *name, mu_list_t tags, mu_list_t args) if (!compfun) { compname = comp ? comp->arg->v.string : "i;ascii-casemap"; - compfun = mu_sieve_comparator_lookup (sieve_machine, compname, matchtype); + compfun = mu_sieve_comparator_lookup (mu_sieve_machine, compname, + matchtype); if (!compfun) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("comparator `%s' is incompatible with match type `%s' in call to `%s'"), compname, match ? match->tag : "is", name); return 1; } } - tmp = mu_sieve_malloc (sieve_machine, sizeof (*tmp)); + tmp = mu_sieve_malloc (mu_sieve_machine, sizeof (*tmp)); tmp->tag = TAG_COMPFUN; tmp->arg = mu_sieve_value_create (SVT_POINTER, compfun); mu_list_append (tags, tmp); @@ -351,7 +354,8 @@ mu_sieve_match_part_checker (const char *name, mu_list_t tags, mu_list_t args) rc = mu_sieve_vlist_do (val, _regex_compile, &rd); - mu_sieve_machine_add_destructor (sieve_machine, _free_reglist, rd.list); + mu_sieve_machine_add_destructor (mu_sieve_machine, _free_reglist, + rd.list); if (rc) return rc; @@ -489,7 +493,7 @@ i_ascii_numeric_eq (const char *pattern, const char *text) } void -sieve_register_standard_comparators (mu_sieve_machine_t mach) +mu_sv_register_standard_comparators (mu_sieve_machine_t mach) { mu_sieve_register_comparator (mach, "i;octet", diff --git a/libsieve/conf.c b/libsieve/conf.c index 596eac9bb..b86bba71b 100644 --- a/libsieve/conf.c +++ b/libsieve/conf.c @@ -63,7 +63,7 @@ mu_sieve_module_init (void *data) if (p->clearflags & MU_SIEVE_CLEAR_LIBRARY_PATH) mu_list_destroy (&mu_sieve_library_path); mu_list_do (p->library_path, _path_append, &mu_sieve_library_path); - sieve_load_add_path (mu_sieve_library_path); + mu_sv_load_add_path (mu_sieve_library_path); mu_list_destroy (&p->library_path); mu_list_destroy (&p->include_path); return 0; diff --git a/libsieve/load.c b/libsieve/load.c index d7fee8fb0..34e9d8c68 100644 --- a/libsieve/load.c +++ b/libsieve/load.c @@ -135,7 +135,7 @@ _add_load_dir (void *item, void *unused) } int -sieve_load_add_path (mu_list_t path) +mu_sv_load_add_path (mu_list_t path) { if (sieve_init_load_path ()) return 1; @@ -143,11 +143,12 @@ sieve_load_add_path (mu_list_t path) } int -sieve_load_add_dir (mu_sieve_machine_t mach, const char *name) +mu_sv_load_add_dir (mu_sieve_machine_t mach, const char *name) { if (sieve_init_load_path ()) return 1; - mu_sieve_machine_add_destructor (mach, (mu_sieve_destructor_t) lt_dlexit, NULL); + mu_sieve_machine_add_destructor (mach, (mu_sieve_destructor_t) lt_dlexit, + NULL); return lt_dladdsearchdir (name); } @@ -161,13 +162,13 @@ mu_sieve_load_ext (mu_sieve_machine_t mach, const char *name) } int -sieve_load_add_path (mu_list_t path) +mu_sv_load_add_path (mu_list_t path) { return 1; } int -sieve_load_add_dir (mu_sieve_machine_t mach, const char *name) +mu_sv_load_add_dir (mu_sieve_machine_t mach, const char *name) { return 1; } diff --git a/libsieve/prog.c b/libsieve/prog.c index c775d6ada..a9f67290d 100644 --- a/libsieve/prog.c +++ b/libsieve/prog.c @@ -26,69 +26,70 @@ #include <sieve.h> int -sieve_code (sieve_op_t *op) +mu_sv_code (sieve_op_t *op) { - if (sieve_machine->pc >= sieve_machine->progsize) + if (mu_sieve_machine->pc >= mu_sieve_machine->progsize) { - size_t newsize = sieve_machine->progsize + SIEVE_CODE_INCR; - sieve_op_t *newprog = mu_sieve_mrealloc (sieve_machine, sieve_machine->prog, - newsize * - sizeof sieve_machine->prog[0]); + size_t newsize = mu_sieve_machine->progsize + SIEVE_CODE_INCR; + sieve_op_t *newprog = mu_sieve_mrealloc (mu_sieve_machine, + mu_sieve_machine->prog, + newsize * + sizeof mu_sieve_machine->prog[0]); if (!newprog) { - sieve_compile_error (&mu_sieve_locus, _("out of memory!")); + mu_sv_compile_error (&mu_sieve_locus, _("out of memory!")); return 1; } - sieve_machine->prog = newprog; - sieve_machine->progsize = newsize; + mu_sieve_machine->prog = newprog; + mu_sieve_machine->progsize = newsize; } - sieve_machine->prog[sieve_machine->pc++] = *op; + mu_sieve_machine->prog[mu_sieve_machine->pc++] = *op; return 0; } int -sieve_code_instr (sieve_instr_t instr) +mu_sv_code_instr (sieve_instr_t instr) { sieve_op_t op; op.instr = instr; - return sieve_code (&op); + return mu_sv_code (&op); } int -sieve_code_handler (mu_sieve_handler_t handler) +mu_sv_code_handler (mu_sieve_handler_t handler) { sieve_op_t op; op.handler = handler; - return sieve_code (&op); + return mu_sv_code (&op); } int -sieve_code_list (mu_list_t list) +mu_sv_code_list (mu_list_t list) { sieve_op_t op; op.list = list; - return sieve_code (&op); + return mu_sv_code (&op); } int -sieve_code_number (long num) +mu_sv_code_number (long num) { sieve_op_t op; op.number = num; - return sieve_code (&op); + return mu_sv_code (&op); } int -sieve_code_string (const char *string) +mu_sv_code_string (const char *string) { sieve_op_t op; op.string = string; - return sieve_code (&op); + return mu_sv_code (&op); } mu_sieve_tag_def_t * @@ -133,7 +134,7 @@ _run_checker (void *item, void *data) } int -sieve_code_command (mu_sieve_register_t *reg, mu_list_t arglist) +mu_sv_code_command (mu_sieve_register_t *reg, mu_list_t arglist) { mu_iterator_t itr; mu_list_t arg_list = NULL; @@ -143,7 +144,7 @@ sieve_code_command (mu_sieve_register_t *reg, mu_list_t arglist) int rc, err = 0; static mu_sieve_data_type empty[] = { SVT_VOID }; - if (sieve_code_handler (reg->handler)) + if (mu_sv_code_handler (reg->handler)) return 1; exp_arg = reg->req_args ? reg->req_args : empty; @@ -154,7 +155,7 @@ sieve_code_command (mu_sieve_register_t *reg, mu_list_t arglist) if (rc) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("cannot create iterator: %s"), mu_strerror (rc)); return 1; @@ -173,7 +174,7 @@ sieve_code_command (mu_sieve_register_t *reg, mu_list_t arglist) mu_sieve_tag_def_t *tag = find_tag (reg->tags, val->v.string, &cf); if (!tag) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("invalid tag name `%s' for `%s'"), val->v.string, reg->name); err = 1; @@ -182,7 +183,7 @@ sieve_code_command (mu_sieve_register_t *reg, mu_list_t arglist) if (!tag_list && (rc = mu_list_create (&tag_list))) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("cannot create tag list: %s"), mu_strerror (rc)); err = 1; @@ -195,7 +196,7 @@ sieve_code_command (mu_sieve_register_t *reg, mu_list_t arglist) mu_iterator_next (itr); if (mu_iterator_is_done (itr)) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("required argument for tag %s is missing"), tag->name); err = 1; @@ -206,7 +207,7 @@ sieve_code_command (mu_sieve_register_t *reg, mu_list_t arglist) else tagrec.arg = NULL; - tagptr = mu_sieve_malloc (sieve_machine, sizeof (*tagptr)); + tagptr = mu_sieve_malloc (mu_sieve_machine, sizeof (*tagptr)); *tagptr = tagrec; mu_list_append (tag_list, tagptr); @@ -214,7 +215,7 @@ sieve_code_command (mu_sieve_register_t *reg, mu_list_t arglist) { if (!chk_list && (rc = mu_list_create (&chk_list))) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("cannot create check list: %s"), mu_strerror (rc)); err = 1; @@ -226,7 +227,7 @@ sieve_code_command (mu_sieve_register_t *reg, mu_list_t arglist) } else if (*exp_arg == SVT_VOID) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("too many arguments in call to `%s'"), reg->name); err = 1; @@ -242,16 +243,16 @@ sieve_code_command (mu_sieve_register_t *reg, mu_list_t arglist) mu_list_create (&list); mu_list_append (list, val->v.string); - mu_sieve_mfree (sieve_machine, val); + mu_sieve_mfree (mu_sieve_machine, val); val = mu_sieve_value_create (SVT_STRING_LIST, list); } else { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("type mismatch in argument %d to `%s'"), exp_arg - reg->req_args + 1, reg->name); - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("expected %s but passed %s"), mu_sieve_type_str (*exp_arg), mu_sieve_type_str (val->type)); @@ -262,7 +263,7 @@ sieve_code_command (mu_sieve_register_t *reg, mu_list_t arglist) if (!arg_list && (rc = mu_list_create (&arg_list))) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("cannot create arg list: %s"), mu_strerror (rc)); err = 1; @@ -280,7 +281,7 @@ sieve_code_command (mu_sieve_register_t *reg, mu_list_t arglist) { if (*exp_arg != SVT_VOID) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("too few arguments in call to `%s'"), reg->name); err = 1; @@ -298,9 +299,9 @@ sieve_code_command (mu_sieve_register_t *reg, mu_list_t arglist) } if (!err) - err = sieve_code_list (arg_list) - || sieve_code_list (tag_list) - || sieve_code_string (reg->name); + err = mu_sv_code_list (arg_list) + || mu_sv_code_list (tag_list) + || mu_sv_code_string (reg->name); if (err) { @@ -313,34 +314,35 @@ sieve_code_command (mu_sieve_register_t *reg, mu_list_t arglist) } int -sieve_code_source (const char *name) +mu_sv_code_source (const char *name) { char *s; - if (mu_list_locate (sieve_machine->source_list, (void*) name, (void **) &s)) + if (mu_list_locate (mu_sieve_machine->source_list, + (void*) name, (void **) &s)) { - s = mu_sieve_mstrdup (sieve_machine, name); - mu_list_append (sieve_machine->source_list, s); + s = mu_sieve_mstrdup (mu_sieve_machine, name); + mu_list_append (mu_sieve_machine->source_list, s); } - return sieve_code_instr (_mu_sv_instr_source) - || sieve_code_string (s); + return mu_sv_code_instr (_mu_sv_instr_source) + || mu_sv_code_string (s); } int -sieve_code_line (size_t line) +mu_sv_code_line (size_t line) { sieve_op_t op; op.line = line; - return sieve_code_instr (_mu_sv_instr_line) - || sieve_code (&op); + return mu_sv_code_instr (_mu_sv_instr_line) + || mu_sv_code (&op); } static int sieve_source_changed; void -sieve_change_source () +mu_sv_change_source () { sieve_source_changed = 1; } @@ -351,56 +353,56 @@ sieve_check_source_changed () if (sieve_source_changed) { sieve_source_changed = 0; - return sieve_code_source (mu_sieve_locus.source_file); + return mu_sv_code_source (mu_sieve_locus.source_file); } return 0; } int -sieve_code_action (mu_sieve_register_t *reg, mu_list_t arglist) +mu_sv_code_action (mu_sieve_register_t *reg, mu_list_t arglist) { return sieve_check_source_changed () - || sieve_code_line (mu_sieve_locus.source_line) - || sieve_code_instr (_mu_sv_instr_action) - || sieve_code_command (reg, arglist); + || mu_sv_code_line (mu_sieve_locus.source_line) + || mu_sv_code_instr (_mu_sv_instr_action) + || mu_sv_code_command (reg, arglist); } int -sieve_code_test (mu_sieve_register_t *reg, mu_list_t arglist) +mu_sv_code_test (mu_sieve_register_t *reg, mu_list_t arglist) { return sieve_check_source_changed () - || sieve_code_line (mu_sieve_locus.source_line) - || sieve_code_instr (_mu_sv_instr_test) - || sieve_code_command (reg, arglist); + || mu_sv_code_line (mu_sieve_locus.source_line) + || mu_sv_code_instr (_mu_sv_instr_test) + || mu_sv_code_command (reg, arglist); } void -sieve_code_anyof (size_t start) +mu_sv_code_anyof (size_t start) { - size_t end = sieve_machine->pc; - while (sieve_machine->prog[start+1].pc != 0) + size_t end = mu_sieve_machine->pc; + while (mu_sieve_machine->prog[start+1].pc != 0) { - size_t next = sieve_machine->prog[start+1].pc; - sieve_machine->prog[start].instr = _mu_sv_instr_brnz; - sieve_machine->prog[start+1].pc = end - start - 2; + size_t next = mu_sieve_machine->prog[start+1].pc; + mu_sieve_machine->prog[start].instr = _mu_sv_instr_brnz; + mu_sieve_machine->prog[start+1].pc = end - start - 2; start = next; } - sieve_machine->prog[start].instr = _mu_sv_instr_nop; - sieve_machine->prog[start+1].instr = _mu_sv_instr_nop; + mu_sieve_machine->prog[start].instr = _mu_sv_instr_nop; + mu_sieve_machine->prog[start+1].instr = _mu_sv_instr_nop; } void -sieve_code_allof (size_t start) +mu_sv_code_allof (size_t start) { - size_t end = sieve_machine->pc; + size_t end = mu_sieve_machine->pc; - while (sieve_machine->prog[start+1].pc != 0) + while (mu_sieve_machine->prog[start+1].pc != 0) { - size_t next = sieve_machine->prog[start+1].pc; - sieve_machine->prog[start+1].pc = end - start - 2; + size_t next = mu_sieve_machine->prog[start+1].pc; + mu_sieve_machine->prog[start+1].pc = end - start - 2; start = next; } - sieve_machine->prog[start].instr = _mu_sv_instr_nop; - sieve_machine->prog[start+1].instr = _mu_sv_instr_nop; + mu_sieve_machine->prog[start].instr = _mu_sv_instr_nop; + mu_sieve_machine->prog[start+1].instr = _mu_sv_instr_nop; } diff --git a/libsieve/register.c b/libsieve/register.c index 3d840d332..53f71052b 100644 --- a/libsieve/register.c +++ b/libsieve/register.c @@ -1,6 +1,6 @@ /* GNU Mailutils -- a suite of utilities for electronic mail Copyright (C) 1999, 2000, 2001, 2002, 2004, - 2005, 2007 Free Software Foundation, Inc. + 2005, 2007, 2008 Free Software Foundation, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/libsieve/relational.c b/libsieve/relational.c index 72fe151cc..c575590a4 100644 --- a/libsieve/relational.c +++ b/libsieve/relational.c @@ -1,5 +1,5 @@ /* GNU Mailutils -- a suite of utilities for electronic mail - Copyright (C) 2003, 2005, 2007 Free Software Foundation, Inc. + Copyright (C) 2003, 2005, 2007, 2008 Free Software Foundation, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/libsieve/require.c b/libsieve/require.c index 77d95b230..7ad82849c 100644 --- a/libsieve/require.c +++ b/libsieve/require.c @@ -36,7 +36,7 @@ mu_sieve_require (mu_list_t slist) status = mu_list_get_iterator (slist, &itr); if (status) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("cannot create iterator: %s"), mu_strerror (status)); return; @@ -74,9 +74,9 @@ mu_sieve_require (mu_list_t slist) text = _("required action"); } - if (reqfn (sieve_machine, name)) + if (reqfn (mu_sieve_machine, name)) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("source for the %s %s is not available"), text, name); diff --git a/libsieve/runtime.c b/libsieve/runtime.c index 341ad896a..7347d5c78 100644 --- a/libsieve/runtime.c +++ b/libsieve/runtime.c @@ -76,9 +76,9 @@ instr_run (mu_sieve_machine_t mach) if (INSTR_DEBUG (mach)) { mu_sieve_debug (mach, "Arguments: "); - sieve_print_value_list (arg_list, mach->debug_printer, mach->data); + mu_sv_print_value_list (arg_list, mach->debug_printer, mach->data); mu_sieve_debug (mach, "\nTags:"); - sieve_print_tag_list (tag_list, mach->debug_printer, mach->data); + mu_sv_print_tag_list (tag_list, mach->debug_printer, mach->data); mu_sieve_debug (mach, "\n"); } diff --git a/libsieve/sieve.h b/libsieve/sieve.h index 4ed447c02..4e1953455 100644 --- a/libsieve/sieve.h +++ b/libsieve/sieve.h @@ -37,7 +37,7 @@ typedef union { size_t line; } sieve_op_t; -struct sieve_machine { +struct mu_sieve_machine { /* Static data */ mu_sieve_locus_t locus; /* Approximate location in the code */ @@ -81,51 +81,42 @@ struct sieve_machine { }; extern mu_sieve_locus_t mu_sieve_locus; -extern mu_sieve_machine_t sieve_machine; -extern int sieve_error_count; +extern mu_sieve_machine_t mu_sieve_machine; +extern int mu_sieve_error_count; #define TAG_COMPFUN "__compfun__" #define TAG_RELFUN "__relfun__" -void sieve_compile_error (mu_sieve_locus_t *locus, +void mu_sv_compile_error (mu_sieve_locus_t *locus, const char *fmt, ...) MU_PRINTFLIKE(2,3); -void sieve_debug_internal (mu_sieve_printf_t printer, void *data, - const char *fmt, ...) MU_PRINTFLIKE(3,4); -void sieve_print_value (mu_sieve_value_t *val, mu_sieve_printf_t printer, - void *data); -void sieve_print_value_list (mu_list_t list, mu_sieve_printf_t printer, +void mu_sv_print_value_list (mu_list_t list, mu_sieve_printf_t printer, void *data); -void sieve_print_tag_list (mu_list_t list, mu_sieve_printf_t printer, +void mu_sv_print_tag_list (mu_list_t list, mu_sieve_printf_t printer, void *data); -int _sieve_default_error_printer (void *data, const char *fmt, va_list ap); -int _sieve_default_parse_error (void *unused, - const char *filename, int lineno, - const char *fmt, va_list ap); - -int sieve_lex_begin (const char *name); -int sieve_lex_begin_string (const char *buf, int bufsize, +int mu_sv_lex_begin (const char *name); +int mu_sv_lex_begin_string (const char *buf, int bufsize, const char *fname, int line); -void sieve_lex_finish (void); +void mu_sv_lex_finish (void); int mu_sieve_yyerror (char *s); int mu_sieve_yylex (); -void sieve_register_standard_actions (mu_sieve_machine_t mach); -void sieve_register_standard_tests (mu_sieve_machine_t mach); -void sieve_register_standard_comparators (mu_sieve_machine_t mach); - -int sieve_code (sieve_op_t *op); -int sieve_code_instr (sieve_instr_t instr); -int sieve_code_handler (mu_sieve_handler_t handler); -int sieve_code_list (mu_list_t list); -int sieve_code_number (long num); -int sieve_code_test (mu_sieve_register_t *reg, mu_list_t arglist); -int sieve_code_action (mu_sieve_register_t *reg, mu_list_t arglist); -void sieve_code_anyof (size_t start); -void sieve_code_allof (size_t start); -int sieve_code_source (const char *name); -int sieve_code_line (size_t line); -void sieve_change_source (void); +void mu_sv_register_standard_actions (mu_sieve_machine_t mach); +void mu_sv_register_standard_tests (mu_sieve_machine_t mach); +void mu_sv_register_standard_comparators (mu_sieve_machine_t mach); + +int mu_sv_code (sieve_op_t *op); +int mu_sv_code_instr (sieve_instr_t instr); +int mu_sv_code_handler (mu_sieve_handler_t handler); +int mu_sv_code_list (mu_list_t list); +int mu_sv_code_number (long num); +int mu_sv_code_test (mu_sieve_register_t *reg, mu_list_t arglist); +int mu_sv_code_action (mu_sieve_register_t *reg, mu_list_t arglist); +void mu_sv_code_anyof (size_t start); +void mu_sv_code_allof (size_t start); +int mu_sv_code_source (const char *name); +int mu_sv_code_line (size_t line); +void mu_sv_change_source (void); void _mu_sv_instr_action (mu_sieve_machine_t mach); void _mu_sv_instr_test (mu_sieve_machine_t mach); @@ -139,10 +130,8 @@ void _mu_sv_instr_nop (mu_sieve_machine_t mach); void _mu_sv_instr_source (mu_sieve_machine_t mach); void _mu_sv_instr_line (mu_sieve_machine_t mach); -int sieve_mark_deleted (mu_message_t msg, int deleted); - -int mu_sieve_match_part_checker (const char *name, mu_list_t tags, mu_list_t args); -int sieve_relational_checker (const char *name, mu_list_t tags, mu_list_t args); +int mu_sv_match_part_checker (const char *name, mu_list_t tags, + mu_list_t args); -int sieve_load_add_path (mu_list_t path); -int sieve_load_add_dir (mu_sieve_machine_t mach, const char *name); +int mu_sv_load_add_path (mu_list_t path); +int mu_sv_load_add_dir (mu_sieve_machine_t mach, const char *name); diff --git a/libsieve/sieve.l b/libsieve/sieve.l index 60c3cc3c7..730571f22 100644 --- a/libsieve/sieve.l +++ b/libsieve/sieve.l @@ -124,7 +124,7 @@ push_source (const char *name) if (stat (name, &st)) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("cannot stat `%s': %s"), name, strerror (errno)); return 1; } @@ -138,11 +138,11 @@ push_source (const char *name) { yyerror (_("recursive inclusion")); if (ctx->prev) - sieve_compile_error (&ctx->prev->locus, + mu_sv_compile_error (&ctx->prev->locus, _("`%s' already included here"), name); else - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("`%s' already included at top level"), name); return 1; @@ -151,7 +151,7 @@ push_source (const char *name) fp = fopen (name, "r"); if (!fp) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile_error (&mu_sieve_locus, _("cannot open `%s': %s"), name, strerror (errno)); return 1; } @@ -177,7 +177,7 @@ push_source (const char *name) mu_sieve_locus.source_line = 1; sieve_source_inode = st.st_ino; - sieve_change_source (); + mu_sv_change_source (); return 0; } @@ -207,7 +207,7 @@ pop_source () free (context_stack); context_stack = ctx; - sieve_change_source (); + mu_sv_change_source (); return 0; } @@ -410,19 +410,19 @@ sieve_searchpath () name = get_file_name (p, endp, NULL); if (name) { - sieve_load_add_dir (sieve_machine, name); + mu_sv_load_add_dir (mu_sieve_machine, name); free (name); } } int -sieve_lex_begin (const char *name) +mu_sv_lex_begin (const char *name) { return push_source (name); } int -sieve_lex_begin_string (const char *buf, int bufsize, +mu_sv_lex_begin_string (const char *buf, int bufsize, const char *fname, int line) { if (!fname) @@ -435,12 +435,12 @@ sieve_lex_begin_string (const char *buf, int bufsize, mu_sieve_locus.source_line = line; sieve_source_inode = 0; - sieve_change_source (); + mu_sv_change_source (); return 0; } void -sieve_lex_finish () +mu_sv_lex_finish () { while (pop_source () == 0) ; @@ -473,7 +473,7 @@ number () static int string () { - yylval.string = mu_sieve_malloc (sieve_machine, yyleng - 1); + yylval.string = mu_sieve_malloc (mu_sieve_machine, yyleng - 1); memcpy (yylval.string, yytext + 1, yyleng - 2); yylval.string[yyleng - 2] = 0; return STRING; @@ -532,7 +532,7 @@ line_begin () status = mu_list_create (&string_list); if (status) { - sieve_compile_error (&mu_sieve_locus, + mu_sv_compile |