From c2d12799d102dc4424de829a6c47ed67006b4252 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan@rename-it.nl>
Date: Sun, 17 Aug 2008 23:44:02 +0200
Subject: [PATCH] Cleaned up subaddress extension.

---
 .../plugins/subaddress/ext-subaddress.c       | 89 ++++++++++++-------
 1 file changed, 57 insertions(+), 32 deletions(-)

diff --git a/src/lib-sieve/plugins/subaddress/ext-subaddress.c b/src/lib-sieve/plugins/subaddress/ext-subaddress.c
index 79c4812f7..4020b3c93 100644
--- a/src/lib-sieve/plugins/subaddress/ext-subaddress.c
+++ b/src/lib-sieve/plugins/subaddress/ext-subaddress.c
@@ -1,3 +1,6 @@
+/* Copyright (c) 2002-2008 Dovecot Sieve authors, see the included COPYING file
+ */
+
 /* Extension subaddress 
  * --------------------
  *
@@ -24,19 +27,28 @@
 
 #include <string.h>
 
-/* Config */
+/* 
+ * Configuration 
+ */
 
 #define SUBADDRESS_DEFAULT_SEP_CHAR '+'
 
-/* Forward declarations */
+/*
+ * Forward declarations 
+ */
+
+const struct sieve_address_part user_address_part;
+const struct sieve_address_part detail_address_part;
 
 static struct sieve_operand subaddress_operand;
 
+/*
+ * Extension
+ */
+
 static bool ext_subaddress_load(int ext_id);
 static bool ext_subaddress_validator_load(struct sieve_validator *validator);
 
-/* Extension definitions */
-
 static int ext_my_id;
 
 const struct sieve_extension subaddress_extension = { 
@@ -56,7 +68,44 @@ static bool ext_subaddress_load(int ext_id)
 	return TRUE;
 }
 
-/* Actual extension implementation */
+static bool ext_subaddress_validator_load(struct sieve_validator *validator)
+{
+	sieve_address_part_register(validator, &user_address_part); 
+	sieve_address_part_register(validator, &detail_address_part); 
+
+	return TRUE;
+}
+
+/*
+ * Address parts
+ */
+ 
+enum ext_subaddress_address_part {
+  SUBADDRESS_USER,
+  SUBADDRESS_DETAIL
+};
+
+/* Forward declarations */
+
+static const char *subaddress_user_extract_from
+	(const struct sieve_address *address);
+static const char *subaddress_detail_extract_from
+	(const struct sieve_address *address);
+
+
+/* Address part objects */	
+
+const struct sieve_address_part user_address_part = {
+	SIEVE_OBJECT("user", &subaddress_operand, SUBADDRESS_USER),
+	subaddress_user_extract_from
+};
+
+const struct sieve_address_part detail_address_part = {
+	SIEVE_OBJECT("detail", &subaddress_operand, SUBADDRESS_DETAIL),
+	subaddress_detail_extract_from
+};
+
+/* Address part implementation */
 
 static const char *subaddress_user_extract_from
 	(const struct sieve_address *address)
@@ -78,22 +127,9 @@ static const char *subaddress_detail_extract_from
 	return sep+1;
 }
 
-/* Extension access structures */
-
-enum ext_subaddress_address_part {
-  SUBADDRESS_USER,
-  SUBADDRESS_DETAIL
-};
-
-const struct sieve_address_part user_address_part = {
-	SIEVE_OBJECT("user", &subaddress_operand, SUBADDRESS_USER),
-	subaddress_user_extract_from
-};
-
-const struct sieve_address_part detail_address_part = {
-	SIEVE_OBJECT("detail", &subaddress_operand, SUBADDRESS_DETAIL),
-	subaddress_detail_extract_from
-};
+/*
+ * Operand 
+ */
 
 const struct sieve_address_part *ext_subaddress_parts[] = {
 	&user_address_part, &detail_address_part
@@ -109,14 +145,3 @@ static struct sieve_operand subaddress_operand = {
 	&ext_address_parts
 };
 
-/* Load extension into validator */
-
-static bool ext_subaddress_validator_load(struct sieve_validator *validator)
-{
-	sieve_address_part_register(validator, &user_address_part); 
-	sieve_address_part_register(validator, &detail_address_part); 
-
-	return TRUE;
-}
-
-
-- 
GitLab