commit-mailutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Mailutils branch, master, updated. release-3.0-23-gfdf02db


From: Sergey Poznyakoff
Subject: [SCM] GNU Mailutils branch, master, updated. release-3.0-23-gfdf02db
Date: Sat, 3 Dec 2016 18:05:57 +0000 (UTC)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Mailutils".

http://git.savannah.gnu.org/cgit/mailutils.git/commit/?id=fdf02db320d6bd88920cdcd15db3c45f71d2fb74

The branch, master has been updated
       via  fdf02db320d6bd88920cdcd15db3c45f71d2fb74 (commit)
       via  f0d3890af4f5df7aaec91bb13306ca55908ada25 (commit)
      from  15f6dbf66eed6bed5c084d97077e7cc5f8e192a7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit fdf02db320d6bd88920cdcd15db3c45f71d2fb74
Author: Sergey Poznyakoff <address@hidden>
Date:   Sat Dec 3 20:03:52 2016 +0200

    Rename mu_sieve_machine_init to mu_sieve_machine_create

commit f0d3890af4f5df7aaec91bb13306ca55908ada25
Author: Sergey Poznyakoff <address@hidden>
Date:   Sat Dec 3 08:09:43 2016 +0200

    Cleanup
    
    * include/mailutils/sieve.h (SVT_IDENT): Remove.
    * libmu_sieve/comparator.c (mu_sieve_match_part_checker): Remove
    unused variable.
    * libmu_sieve/mem.c (mu_sieve_reclaim_list): Remove function.
    * libmu_sieve/sieve.y: Remove leftover uses of SVT_IDENT.
    * libmu_sieve/util.c: Likewise.
    * libmu_sieve/sieve-priv.h: Remove useless prototypes.

-----------------------------------------------------------------------

Summary of changes:
 doc/texinfo/libmu_sieve.texi |   17 +++--
 gint                         |    2 +-
 include/mailutils/sieve.h    |   34 +++++-----
 lib/sieve.c                  |    2 +-
 libmu_cpp/sieve.cc           |    2 +-
 libmu_sieve/comparator.c     |    3 +-
 libmu_sieve/mem.c            |    7 --
 libmu_sieve/sieve-priv.h     |   16 ++---
 libmu_sieve/sieve.y          |  152 +++++++++++++++++++++++++++++++-----------
 libmu_sieve/util.c           |    5 --
 python/libmu_py/sieve.c      |    2 +-
 sieve/sieve.c                |    2 +-
 12 files changed, 148 insertions(+), 96 deletions(-)

diff --git a/doc/texinfo/libmu_sieve.texi b/doc/texinfo/libmu_sieve.texi
index 3409c5c..987dfad 100644
--- a/doc/texinfo/libmu_sieve.texi
+++ b/doc/texinfo/libmu_sieve.texi
@@ -222,8 +222,8 @@ typedef int (*mu_sieve_printf_t) (void address@hidden,
 
 @table @var
 @item data
-A pointer to application specific data. These data are passed as 
-second argument to @code{mu_sieve_machine_init()}.
+A pointer to application specific data.  It is set using
+the @code{mu_sieve_set_data} call.
 @item fmt
 Printf-like format string.
 @item ap
@@ -362,13 +362,12 @@ case. [FIXME: describe how to do that]
 This subsection describes functions used to create an instance of the
 sieve machine, read or alter its internal fields and destroy it.
 
address@hidden int mu_sieve_machine_init (mu_sieve_machine_t address@hidden, 
void address@hidden)
address@hidden int mu_sieve_machine_create (mu_sieve_machine_t address@hidden)
 
-The @code{mu_sieve_machine_init()} function creates an instance of a sieve
-machine. A pointer to the instance itself is returned in the argument
address@hidden The user-specific data to be associated with the new machine
-are passed in @var{data} argument. The function returns 0 on success,
-non-zero error code otherwise,
+The @code{mu_sieve_machine_create()} function creates an instance of a sieve
+machine.  A pointer to the instance itself is returned in the argument
address@hidden The function returns 0 on success, and a non-zero error
+code otherwise.
 @end deftypefun
 
 @deftypefun void mu_sieve_machine_destroy (mu_sieve_machine_t address@hidden)
@@ -417,7 +416,7 @@ match_part_checker (const char *name, list_t tags, list_t 
args)
 
 @deftypefun {void *} mu_sieve_get_data (mu_sieve_machine_t @var{mach})
 This function returns the application-specific data associated with
-the instance of sieve machine. See @code{mu_sieve_machine_init()}.
+the instance of sieve machine. See @code{mu_sieve_machine_create()}.
 @end deftypefun
 
 @deftypefun mu_message_t mu_sieve_get_message (mu_sieve_machine_t @var{mach})
diff --git a/gint b/gint
index fd86bf7..42f4712 160000
--- a/gint
+++ b/gint
@@ -1 +1 @@
-Subproject commit fd86bf7d44b0c970771830692ae7491447ebe8b1
+Subproject commit 42f4712085b40173eaea58e14b1a579291a6fe3a
diff --git a/include/mailutils/sieve.h b/include/mailutils/sieve.h
index 7227aba..42836f0 100644
--- a/include/mailutils/sieve.h
+++ b/include/mailutils/sieve.h
@@ -61,14 +61,15 @@ typedef enum
   SVT_STRING,
   SVT_STRING_LIST,
   SVT_TAG,
-  SVT_IDENT
 }
 mu_sieve_data_type;
 
+/* Struct mu_sieve_slice represents a contiguous slice of an array of strings
+   or variables */
 struct mu_sieve_slice
 {
-  size_t first;
-  size_t count;
+  size_t first;            /* Index of the first object */
+  size_t count;            /* Number of objects */
 };
 
 typedef struct mu_sieve_slice *mu_sieve_slice_t;
@@ -122,13 +123,11 @@ extern mu_debug_handle_t mu_sieve_debug_handle;
 extern mu_list_t mu_sieve_include_path;
 extern mu_list_t mu_sieve_library_path;
 extern mu_list_t mu_sieve_library_path_prefix;
-
-void mu_sieve_debug_init (void);
   
 /* Memory allocation functions */
 typedef void (*mu_sieve_reclaim_t) (void *);
 void mu_sieve_register_memory (mu_sieve_machine_t mach, void *ptr,
-                                 mu_sieve_reclaim_t reclaim);
+                              mu_sieve_reclaim_t reclaim);
 void *mu_sieve_alloc_memory (mu_sieve_machine_t mach, size_t size,
                             mu_sieve_reclaim_t recfun);
 void mu_sieve_free (mu_sieve_machine_t mach, void *ptr);
@@ -138,7 +137,6 @@ char *mu_sieve_strdup (mu_sieve_machine_t mach, char const 
*str);
 void *mu_sieve_realloc (mu_sieve_machine_t mach, void *ptr, size_t size);
 
 void mu_sieve_reclaim_default (void *p);
-void mu_sieve_reclaim_list (void *p);
 void mu_sieve_reclaim_value (void *p);
   
 size_t mu_sieve_value_create (mu_sieve_machine_t mach,
@@ -179,6 +177,9 @@ int mu_sieve_require_test (mu_sieve_machine_t mach, const 
char *name);
 int mu_sieve_require_comparator (mu_sieve_machine_t mach, const char *name);
 int mu_sieve_require_relational (mu_sieve_machine_t mach, const char *name);
 
+int mu_sieve_load_ext (mu_sieve_machine_t mach, const char *name);
+int mu_sieve_match_part_checker (mu_sieve_machine_t mach);
+
 mu_sieve_comparator_t mu_sieve_comparator_lookup (mu_sieve_machine_t mach,
                                                  const char *name,
                                                  int matchtype);
@@ -192,24 +193,21 @@ void mu_sieve_require (mu_sieve_machine_t mach, 
mu_sieve_slice_t list);
 
 void mu_sieve_value_get (mu_sieve_machine_t mach, mu_sieve_value_t *val,
                         mu_sieve_data_type type, void *ret);
-  
+/* Tagged argument accessors */   
 int mu_sieve_get_tag (mu_sieve_machine_t mach, char *name,
                      mu_sieve_data_type type, void *ret);
 mu_sieve_value_t *mu_sieve_get_tag_untyped (mu_sieve_machine_t mach,
                                            char const *name);
 mu_sieve_value_t *mu_sieve_get_tag_n (mu_sieve_machine_t mach, size_t n);
   
-int mu_sieve_load_ext (mu_sieve_machine_t mach, const char *name);
-int mu_sieve_match_part_checker (mu_sieve_machine_t mach);
-
-/* Operations on value lists */
+/* Positional argument accessors */
 mu_sieve_value_t *mu_sieve_get_arg_optional (mu_sieve_machine_t mach,
                                             size_t index);
 mu_sieve_value_t *mu_sieve_get_arg_untyped (mu_sieve_machine_t mach,
                                            size_t index);
 void mu_sieve_get_arg (mu_sieve_machine_t mach, size_t index,
                       mu_sieve_data_type type, void *ret);
-
+/* String and string list accessors */
 char *mu_sieve_string (mu_sieve_machine_t mach,
                       mu_sieve_slice_t slice,
                       size_t i);
@@ -217,7 +215,7 @@ struct mu_sieve_string *mu_sieve_string_raw 
(mu_sieve_machine_t mach,
                                             mu_sieve_slice_t slice,
                                             size_t i);
 
-  
+/* Operations on value lists */ 
 int mu_sieve_vlist_do (mu_sieve_machine_t mach,
                       mu_sieve_value_t *val, mu_list_action_t ac,
                       void *data);
@@ -228,14 +226,14 @@ int mu_sieve_vlist_compare (mu_sieve_machine_t mach,
                            void *data, size_t *count);
 
 /* Functions to create and destroy sieve machine */
-int mu_sieve_machine_init (mu_sieve_machine_t *mach);
+int mu_sieve_machine_create (mu_sieve_machine_t *mach);
 int mu_sieve_machine_dup (mu_sieve_machine_t const in,
                          mu_sieve_machine_t *out);
 int mu_sieve_machine_inherit (mu_sieve_machine_t const in,
                              mu_sieve_machine_t *out);
 void mu_sieve_machine_destroy (mu_sieve_machine_t *pmach);
-int mu_sieve_machine_add_destructor (mu_sieve_machine_t mach,
-                                    mu_sieve_destructor_t destr, void *ptr);
+void mu_sieve_machine_add_destructor (mu_sieve_machine_t mach,
+                                     mu_sieve_destructor_t destr, void *ptr);
 
 /* Functions for accessing sieve machine internals */
 void mu_sieve_get_diag_stream (mu_sieve_machine_t mach, mu_stream_t *pstr);
@@ -270,6 +268,7 @@ void mu_sieve_stream_restore (mu_sieve_machine_t mach);
   
 /* Logging and diagnostic functions */
 
+void mu_sieve_debug_init (void);  
 void mu_sieve_error (mu_sieve_machine_t mach, const char *fmt, ...) 
                      MU_PRINTFLIKE(2,3);
 void mu_sieve_log_action (mu_sieve_machine_t mach, const char *action,
@@ -277,7 +276,6 @@ void mu_sieve_log_action (mu_sieve_machine_t mach, const 
char *action,
                          MU_PRINTFLIKE(3,4);
 void mu_sieve_abort (mu_sieve_machine_t mach);
 
-int mu_sieve_is_dry_run (mu_sieve_machine_t mach);
 const char *mu_sieve_type_str (mu_sieve_data_type type);
 
 /* Principal entry points */
diff --git a/lib/sieve.c b/lib/sieve.c
index 249b560..cfdadb6 100644
--- a/lib/sieve.c
+++ b/lib/sieve.c
@@ -81,7 +81,7 @@ sieve_init (const char *prog, mu_script_descr_t *pdescr)
   int rc;
   mu_sieve_machine_t mach;
 
-  rc = mu_sieve_machine_init (&mach);
+  rc = mu_sieve_machine_create (&mach);
   if (rc == 0)
     {
       if (mu_script_sieve_log)
diff --git a/libmu_cpp/sieve.cc b/libmu_cpp/sieve.cc
index 6a57e10..453a6ec 100644
--- a/libmu_cpp/sieve.cc
+++ b/libmu_cpp/sieve.cc
@@ -25,7 +25,7 @@ using namespace mailutils;
 
 SieveMachine :: SieveMachine ()
 {
-  int status = mu_sieve_machine_init (&mach);
+  int status = mu_sieve_machine_create (&mach);
   if (status)
     throw Exception ("SieveMachine::SieveMachine", status);
 }
diff --git a/libmu_sieve/comparator.c b/libmu_sieve/comparator.c
index a0d5836..44dd05b 100644
--- a/libmu_sieve/comparator.c
+++ b/libmu_sieve/comparator.c
@@ -217,7 +217,6 @@ mu_sieve_match_part_checker (mu_sieve_machine_t mach)
        {
          mu_sieve_value_t *val;
          char *str;
-         size_t count;
          
          if (compname && strcmp (compname, "i;ascii-numeric"))
            {
@@ -247,7 +246,7 @@ mu_sieve_match_part_checker (mu_sieve_machine_t mach)
              return 1;
            }
          str = mu_sieve_string_raw (mach, &val->v.list, 0)->orig;
-         count = strtoul (str, &str, 10);
+         str = mu_str_skip_class (str, MU_CTYPE_DIGIT);
          if (*str)
            {
              mu_diag_at_locus (MU_LOG_ERROR, &mach->locus, 
diff --git a/libmu_sieve/mem.c b/libmu_sieve/mem.c
index 25dc26c..3c39a3d 100644
--- a/libmu_sieve/mem.c
+++ b/libmu_sieve/mem.c
@@ -181,13 +181,6 @@ mu_sieve_reclaim_default (void *p)
   free (p);
 }
 
-void 
-mu_sieve_reclaim_list (void *p)
-{
-  mu_list_t list = p;
-  mu_list_destroy (&list);
-}
-
 void
 mu_sieve_reclaim_value (void *p)
 {
diff --git a/libmu_sieve/sieve-priv.h b/libmu_sieve/sieve-priv.h
index 7ae2fdf..c1ebb15 100644
--- a/libmu_sieve/sieve-priv.h
+++ b/libmu_sieve/sieve-priv.h
@@ -29,7 +29,6 @@ typedef union
   mu_sieve_handler_t handler;
   mu_sieve_value_t *val;
   mu_sieve_comparator_t comp;
-  mu_list_t list;
   long number;
   size_t pc;
   size_t line;
@@ -69,10 +68,10 @@ struct mu_sieve_machine
 
   /* Symbol space: */
   mu_opool_t string_pool;    /* String constants */
+  mu_list_t source_list;     /* Source names (for diagnostics) */
   mu_list_t test_list;       /* Tests */
   mu_list_t action_list;     /* Actions */
   mu_list_t comp_list;       /* Comparators */
-  mu_list_t source_list;     /* Source names (for diagnostics) */
 
   mu_sieve_string_t *stringspace;
   size_t stringcount;
@@ -86,7 +85,7 @@ struct mu_sieve_machine
   sieve_op_t *prog;          /* Compiled program */
 
   /* Runtime data */
-  enum mu_sieve_state state;
+  enum mu_sieve_state state; /* Machine state */
   size_t pc;                 /* Current program counter */
   long reg;                  /* Numeric register */
   mu_list_t stack;           /* Runtime stack */
@@ -144,8 +143,6 @@ struct mu_sieve_node
   struct mu_locus_range locus;
   union
   {
-    mu_sieve_value_t *value;
-    mu_list_t list;
     struct mu_sieve_node *node;
     struct
     {
@@ -176,9 +173,6 @@ extern mu_sieve_machine_t mu_sieve_machine;
 
 void mu_i_sv_code (struct mu_sieve_machine *mach, sieve_op_t op);
 
-void mu_i_sv_compile_error (struct mu_sieve_machine *mach,
-                           const char *fmt, ...) MU_PRINTFLIKE(2,3);
-
 int mu_i_sv_locus (struct mu_sieve_machine *mach, struct mu_locus_range *lr);
 void mu_i_sv_code_action (struct mu_sieve_machine *mach,
                          struct mu_sieve_node *node);
@@ -203,9 +197,6 @@ void mu_i_sv_register_standard_actions (mu_sieve_machine_t 
mach);
 void mu_i_sv_register_standard_tests (mu_sieve_machine_t mach);
 void mu_i_sv_register_standard_comparators (mu_sieve_machine_t mach);
 
-void mu_i_sv_print_value_list (mu_list_t list, mu_stream_t str);
-void mu_i_sv_print_tag_list (mu_list_t list, mu_stream_t str);
-
 void mu_i_sv_error (mu_sieve_machine_t mach);
 
 void mu_i_sv_debug (mu_sieve_machine_t mach, size_t pc, const char *fmt, ...)
@@ -214,7 +205,8 @@ void mu_i_sv_debug_command (mu_sieve_machine_t mach, size_t 
pc,
                            char const *what);
 void mu_i_sv_trace (mu_sieve_machine_t mach, const char *what);
 
-void mu_i_sv_valf (mu_sieve_machine_t mach, mu_stream_t str, mu_sieve_value_t 
*val);
+void mu_i_sv_valf (mu_sieve_machine_t mach, mu_stream_t str,
+                  mu_sieve_value_t *val);
 
 typedef int (*mu_i_sv_interp_t) (char const *, size_t, char **, void *);
 
diff --git a/libmu_sieve/sieve.y b/libmu_sieve/sieve.y
index a76b3de..9bb0ebd 100644
--- a/libmu_sieve/sieve.y
+++ b/libmu_sieve/sieve.y
@@ -547,10 +547,6 @@ mu_i_sv_valf (mu_sieve_machine_t mach, mu_stream_t str, 
mu_sieve_value_t *val)
       mu_stream_printf (str, ":%s", val->v.string);
       break;
       
-    case SVT_IDENT:
-      mu_stream_printf (str, "%s", val->v.string);
-      break;
-       
     default:
       abort ();
     }
@@ -984,7 +980,7 @@ mu_i_sv_error (mu_sieve_machine_t mach)
 }
 
 int
-mu_sieve_machine_init (mu_sieve_machine_t *pmach)
+mu_sieve_machine_create (mu_sieve_machine_t *pmach)
 {
   int rc;
   mu_sieve_machine_t mach;
@@ -1014,6 +1010,70 @@ mu_sieve_machine_init (mu_sieve_machine_t *pmach)
   return 0;
 }
 
+void
+mu_i_sv_free_stringspace (mu_sieve_machine_t mach)
+{
+  size_t i;
+  
+  for (i = 0; i < mach->stringcount; i++)
+    {
+      if (mach->stringspace[i].rx)
+       {
+         regex_t *rx = mach->stringspace[i].rx;
+         regfree (rx);
+       }
+      /* FIXME: Is it needed?
+      if (mach->stringspace[i].exp)
+       free (mach->stringspace[i].exp);
+      */
+    }
+}  
+
+int
+mu_sieve_machine_reset (mu_sieve_machine_t mach)
+{
+  switch (mach->state)
+    {
+    case mu_sieve_state_init:
+      /* Nothing to do */
+      return 0;
+      
+    case mu_sieve_state_error:
+    case mu_sieve_state_compiled:
+      /* Do the right thing */
+      break;
+      
+    case mu_sieve_state_running:
+    case mu_sieve_state_disass:
+      /* Can't reset a running machine */
+      return MU_ERR_FAILURE;
+    }
+
+  mu_i_sv_free_stringspace (mach);
+  mu_list_clear (mach->memory_pool);
+  mu_list_clear (mach->destr_list);
+  mu_opool_free (mach->string_pool, NULL);
+  mu_list_clear (mach->source_list);
+  mu_list_clear (mach->test_list);
+  mu_list_clear (mach->action_list);
+  mu_list_clear (mach->comp_list);
+
+  mach->stringspace = NULL;
+  mach->stringcount = 0;
+  mach->stringmax = 0;
+
+  mach->valspace = NULL;
+  mach->valcount = 0;
+  mach->valmax = 0;
+
+  mach->progsize = 0;
+  mach->prog = NULL;
+
+  mach->state = mu_sieve_state_init;
+
+  return 0;
+}
+
 int
 mu_sieve_machine_inherit (mu_sieve_machine_t const parent,
                          mu_sieve_machine_t *pmach)
@@ -1024,7 +1084,7 @@ mu_sieve_machine_inherit (mu_sieve_machine_t const parent,
   if (!parent || parent->state == mu_sieve_state_error)
     return EINVAL;
   
-  rc = mu_sieve_machine_init (&child);
+  rc = mu_sieve_machine_create (&child);
   if (rc)
     return rc;
 
@@ -1033,9 +1093,14 @@ mu_sieve_machine_inherit (mu_sieve_machine_t const 
parent,
   child->state_flags = parent->state_flags;
   child->err_mode    = parent->err_mode;
   child->err_locus   = parent->err_locus;
+  if (child->err_locus.mu_file)
+    child->err_locus.mu_file =
+      mu_sieve_strdup (child, child->err_locus.mu_file);
   child->dbg_mode    = parent->dbg_mode;
   child->dbg_locus   = parent->dbg_locus;  
-
+  if (child->dbg_locus.mu_file)
+    child->dbg_locus.mu_file =
+      mu_sieve_strdup (child, child->dbg_locus.mu_file);
   child->errstream = parent->errstream;
   mu_stream_ref (child->errstream);
   child->dbgstream = parent->dbgstream;
@@ -1217,54 +1282,61 @@ struct sieve_destr_record
   void *ptr;
 };
 
-int
+static void
+run_destructor (void *data)
+{
+  struct sieve_destr_record *p = data;
+  p->destr (p->ptr);
+  free (data);
+}
+
+void
 mu_sieve_machine_add_destructor (mu_sieve_machine_t mach,
                                 mu_sieve_destructor_t destr,
                                 void *ptr)
 {
+  int rc;
   struct sieve_destr_record *p;
-
-  if (!mach->destr_list && mu_list_create (&mach->destr_list))
-    return 1;
-  p = mu_sieve_malloc (mach, sizeof (*p));
+  
+  if (!mach->destr_list)
+    {
+      rc = mu_list_create (&mach->destr_list);
+      if (rc)
+       {
+         mu_sieve_error (mach, "mu_list_create: %s", mu_strerror (rc));
+         destr (ptr);
+         mu_sieve_abort (mach);
+       }
+      mu_list_set_destroy_item (mach->destr_list, run_destructor);
+    }
+  p = malloc (sizeof (*p));
   if (!p)
-    return 1;
+    {
+      mu_sieve_error (mach, "%s", mu_strerror (errno));
+      destr (ptr);
+      mu_sieve_abort (mach);
+    }
   p->destr = destr;
   p->ptr = ptr;
-  return mu_list_prepend (mach->destr_list, p);
-}
-
-static int
-_run_destructor (void *data, void *unused)
-{
-  struct sieve_destr_record *p = data;
-  p->destr (p->ptr);
-  return 0;
+  rc = mu_list_prepend (mach->destr_list, p);
+  if (rc)
+    {
+      mu_sieve_error (mach, "mu_list_prepend: %s", mu_strerror (rc));
+      destr (ptr);
+      free (p);
+      mu_sieve_abort (mach);
+    }
 }
 
 void
 mu_sieve_machine_destroy (mu_sieve_machine_t *pmach)
 {
   mu_sieve_machine_t mach = *pmach;
-  size_t i;
-  
-  for (i = 0; i < mach->stringcount; i++)
-    {
-      if (mach->stringspace[i].rx)
-       {
-         regex_t *rx = mach->stringspace[i].rx;
-         regfree (rx);
-       }
-      /* FIXME: Is it needed?
-      if (mach->stringspace[i].exp)
-       free (mach->stringspace[i].exp);
-      */
-    }
-  
+
+  mu_i_sv_free_stringspace (mach);
   mu_stream_destroy (&mach->errstream);
   mu_stream_destroy (&mach->dbgstream);
   mu_mailer_destroy (&mach->mailer);
-  mu_list_foreach (mach->destr_list, _run_destructor, NULL);
   mu_list_destroy (&mach->destr_list);
   mu_list_destroy (&mach->action_list);
   mu_list_destroy (&mach->test_list);
@@ -1283,6 +1355,10 @@ with_machine (mu_sieve_machine_t mach, char const *name,
   int rc = 0;
   mu_stream_t save_errstr;
 
+  rc = mu_sieve_machine_reset (mach);
+  if (rc)
+    return rc;
+  
   save_errstr = mu_strerr;  
   mu_stream_ref (save_errstr);
   mu_strerr = mach->errstream;
diff --git a/libmu_sieve/util.c b/libmu_sieve/util.c
index 9e46bda..6716682 100644
--- a/libmu_sieve/util.c
+++ b/libmu_sieve/util.c
@@ -59,7 +59,6 @@ mu_sieve_value_create (mu_sieve_machine_t mach, 
mu_sieve_data_type type,
       break;
       
     case SVT_TAG:
-    case SVT_IDENT:
       val->v.string = data;
       break;
 
@@ -142,7 +141,6 @@ mu_sieve_value_get (mu_sieve_machine_t mach, 
mu_sieve_value_t *val,
       break;
 
     case SVT_TAG:
-    case SVT_IDENT:
       *(char**) ret = val->v.string;
       break;
 
@@ -237,9 +235,6 @@ mu_sieve_type_str (mu_sieve_data_type type)
     case SVT_TAG:
       return "tag";
 
-    case SVT_IDENT:
-      return "ident";
-
     }
 
   return "unknown";
diff --git a/python/libmu_py/sieve.c b/python/libmu_py/sieve.c
index baa3fb0..ec92976 100644
--- a/python/libmu_py/sieve.c
+++ b/python/libmu_py/sieve.c
@@ -107,7 +107,7 @@ api_sieve_machine_init (PyObject *self, PyObject *args)
   if (status)
     return _ro (PyInt_FromLong (status));
   
-  status = mu_sieve_machine_init (&py_mach->mach);
+  status = mu_sieve_machine_create (&py_mach->mach);
   if (status == 0)
     mu_sieve_set_diag_stream (py_mach->mach, estr);
   mu_stream_unref (estr);
diff --git a/sieve/sieve.c b/sieve/sieve.c
index e5e066c..591a735 100644
--- a/sieve/sieve.c
+++ b/sieve/sieve.c
@@ -431,7 +431,7 @@ main (int argc, char *argv[])
     }
 
   /* Sieve interpreter setup. */
-  rc = mu_sieve_machine_init (&mach);
+  rc = mu_sieve_machine_create (&mach);
   if (rc)
     {
       mu_error (_("cannot initialize sieve machine: %s"), mu_strerror (rc));


hooks/post-receive
-- 
GNU Mailutils



reply via email to

[Prev in Thread] Current Thread [Next in Thread]