summaryrefslogtreecommitdiff
path: root/libsieve/util.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2002-11-19 14:04:24 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2002-11-19 14:04:24 +0000
commit6ed28e0a60638e6f4d744487c8745cb9fb4aaca7 (patch)
treec85e9e8a50f0f27f231e58be7197c1c39fda3122 /libsieve/util.c
parent7c671ef48cdf35473aa7713d8f32215417e2311e (diff)
downloadmailutils-6ed28e0a60638e6f4d744487c8745cb9fb4aaca7.tar.gz
mailutils-6ed28e0a60638e6f4d744487c8745cb9fb4aaca7.tar.bz2
(sieve_slist_destroy): Use list_do. It is faster.
Diffstat (limited to 'libsieve/util.c')
-rw-r--r--libsieve/util.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/libsieve/util.c b/libsieve/util.c
index d6530ff01..8f391ec5a 100644
--- a/libsieve/util.c
+++ b/libsieve/util.c
@@ -100,21 +100,19 @@ sieve_pfree (list_t *pool, void *ptr)
free (ptr);
}
+static int
+_destroy_item (void *item, void *data)
+{
+ free (item);
+ return 0;
+}
+
void
sieve_slist_destroy (list_t *plist)
{
- iterator_t itr;
-
- if (!plist || iterator_create (&itr, *plist))
+ if (!plist)
return;
-
- for (iterator_first (itr); !iterator_is_done (itr); iterator_next (itr))
- {
- char *s;
- iterator_current (itr, (void **)&s);
- free (s);
- }
- iterator_destroy (&itr);
+ list_do (*plist, _destroy_item, NULL);
list_destroy (plist);
}
@@ -231,7 +229,7 @@ _sieve_default_parse_error (void *unused, const char *filename, int lineno,
const char *fmt, va_list ap)
{
if (filename)
- fprintf (stderr, "%s:%d: ", filename, lineno);
+ fprintf (stderr, "%s:%d: ", filename, lineno);
vfprintf (stderr, fmt, ap);
fprintf (stderr, "\n");
return 0;

Return to:

Send suggestions and report system problems to the System administrator.