From 19f30a5f0a1111b4ef969095e91ae030f89b17c0 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan@rename-it.nl>
Date: Wed, 28 Nov 2007 23:31:50 +0100
Subject: [PATCH] Changed id_code for optional operands to signed and fixed a
 ext_my_id-related error in the vacation and copy extensions.

---
 src/lib-sieve/plugins/copy/ext-copy.c | 2 +-
 src/lib-sieve/sieve-address-parts.c   | 2 +-
 src/lib-sieve/sieve-address-parts.h   | 5 ++---
 src/lib-sieve/sieve-binary.c          | 4 ++--
 src/lib-sieve/sieve-comparators.c     | 2 +-
 src/lib-sieve/sieve-comparators.h     | 3 +--
 src/lib-sieve/sieve-extensions.c      | 2 +-
 src/lib-sieve/sieve-match-types.c     | 2 +-
 src/lib-sieve/sieve-match-types.h     | 3 +--
 src/lib-sieve/sieve-validator.c       | 8 ++++----
 src/lib-sieve/sieve-validator.h       | 4 ++--
 src/lib-sieve/tst-size.c              | 2 +-
 12 files changed, 18 insertions(+), 21 deletions(-)

diff --git a/src/lib-sieve/plugins/copy/ext-copy.c b/src/lib-sieve/plugins/copy/ext-copy.c
index cdfca1575..ad4f7ddc4 100644
--- a/src/lib-sieve/plugins/copy/ext-copy.c
+++ b/src/lib-sieve/plugins/copy/ext-copy.c
@@ -26,7 +26,7 @@ static bool ext_copy_validator_load(struct sieve_validator *validator);
 
 /* Extension definitions */
 
-int ext_my_id;
+static int ext_my_id;
 
 const struct sieve_extension copy_extension = { 
 	"copy", 
diff --git a/src/lib-sieve/sieve-address-parts.c b/src/lib-sieve/sieve-address-parts.c
index 32e7eb54c..5e3479f32 100644
--- a/src/lib-sieve/sieve-address-parts.c
+++ b/src/lib-sieve/sieve-address-parts.c
@@ -145,7 +145,7 @@ bool addrp_validator_load(struct sieve_validator *validator)
 
 void sieve_address_parts_link_tags
 	(struct sieve_validator *validator, 
-		struct sieve_command_registration *cmd_reg, unsigned int id_code) 
+		struct sieve_command_registration *cmd_reg, int id_code) 
 {	
 	sieve_validator_register_tag
 		(validator, cmd_reg, &address_part_tag, id_code); 	
diff --git a/src/lib-sieve/sieve-address-parts.h b/src/lib-sieve/sieve-address-parts.h
index 5c2b4d00e..314225644 100644
--- a/src/lib-sieve/sieve-address-parts.h
+++ b/src/lib-sieve/sieve-address-parts.h
@@ -38,12 +38,11 @@ struct sieve_address_part_extension {
 
 void sieve_address_parts_link_tags
 	(struct sieve_validator *validator, 
-		struct sieve_command_registration *cmd_reg,
-		unsigned int id_code);
+		struct sieve_command_registration *cmd_reg, int id_code);
 		
 void sieve_address_part_register
 	(struct sieve_validator *validator, 
-	const struct sieve_address_part *addrp, int ext_id);
+		const struct sieve_address_part *addrp, int ext_id);
 const struct sieve_address_part *sieve_address_part_find
 	(struct sieve_validator *validator, const char *identifier,
 		int *ext_id);
diff --git a/src/lib-sieve/sieve-binary.c b/src/lib-sieve/sieve-binary.c
index 782905cba..ea47008f6 100644
--- a/src/lib-sieve/sieve-binary.c
+++ b/src/lib-sieve/sieve-binary.c
@@ -135,7 +135,7 @@ int sieve_binary_extension_link
 	
 		array_idx_set(&sbin->extensions, (unsigned int) index, &bext);
 		array_idx_set(&sbin->extension_index, (unsigned int) ext_id, &bext);
-	
+
 		return index;
 	}
 	
@@ -167,7 +167,7 @@ int sieve_binary_extension_get_index
 	
 	if ( ext_id < (int) array_count(&sbin->extension_index) ) {
 		ext = array_idx(&sbin->extension_index, (unsigned int) ext_id);
-		
+	
 		return (*ext)->index;
 	}
 	
diff --git a/src/lib-sieve/sieve-comparators.c b/src/lib-sieve/sieve-comparators.c
index a85d3bdba..8d2c8de23 100644
--- a/src/lib-sieve/sieve-comparators.c
+++ b/src/lib-sieve/sieve-comparators.c
@@ -254,7 +254,7 @@ static bool tag_comparator_validate
 
 void sieve_comparators_link_tag
 	(struct sieve_validator *validator, struct sieve_command_registration *cmd_reg,	
-		unsigned int id_code) 
+		int id_code) 
 {
 	sieve_validator_register_tag(validator, cmd_reg, &comparator_tag, id_code); 	
 }
diff --git a/src/lib-sieve/sieve-comparators.h b/src/lib-sieve/sieve-comparators.h
index 66601ee74..33cac4422 100644
--- a/src/lib-sieve/sieve-comparators.h
+++ b/src/lib-sieve/sieve-comparators.h
@@ -53,8 +53,7 @@ extern const struct sieve_argument comparator_tag;
 
 void sieve_comparators_link_tag
 	(struct sieve_validator *validator, 
-		struct sieve_command_registration *cmd_reg,	
-		unsigned int id_code);
+		struct sieve_command_registration *cmd_reg,	int id_code);
 inline bool sieve_comparator_tag_is
 	(struct sieve_ast_argument *tag, const struct sieve_comparator *cmp);
 inline const struct sieve_comparator *sieve_comparator_tag_get
diff --git a/src/lib-sieve/sieve-extensions.c b/src/lib-sieve/sieve-extensions.c
index b7d4cd10d..864e47bee 100644
--- a/src/lib-sieve/sieve-extensions.c
+++ b/src/lib-sieve/sieve-extensions.c
@@ -139,7 +139,7 @@ int sieve_extension_register(const struct sieve_extension *extension)
 	ereg->id = ext_id;
 	
 	hash_insert(extension_index, (void *) extension->name, (void *) ereg);
-	
+
 	return ext_id;
 }
 
diff --git a/src/lib-sieve/sieve-match-types.c b/src/lib-sieve/sieve-match-types.c
index b36eadc06..f3b35b00c 100644
--- a/src/lib-sieve/sieve-match-types.c
+++ b/src/lib-sieve/sieve-match-types.c
@@ -144,7 +144,7 @@ bool mtch_validator_load(struct sieve_validator *validator)
 
 void sieve_match_types_link_tags
 	(struct sieve_validator *validator, 
-		struct sieve_command_registration *cmd_reg, unsigned int id_code) 
+		struct sieve_command_registration *cmd_reg, int id_code) 
 {	
 	sieve_validator_register_tag
 		(validator, cmd_reg, &match_type_tag, id_code); 	
diff --git a/src/lib-sieve/sieve-match-types.h b/src/lib-sieve/sieve-match-types.h
index d60694ba2..bd3e31d4e 100644
--- a/src/lib-sieve/sieve-match-types.h
+++ b/src/lib-sieve/sieve-match-types.h
@@ -73,8 +73,7 @@ struct sieve_match_type_context {
 
 void sieve_match_types_link_tags
 	(struct sieve_validator *validator, 
-		struct sieve_command_registration *cmd_reg,
-		unsigned int id_code);
+		struct sieve_command_registration *cmd_reg, int id_code);
 bool sieve_match_type_validate_argument
 (struct sieve_validator *validator, struct sieve_ast_argument *arg,
 	struct sieve_ast_argument *key_arg);
diff --git a/src/lib-sieve/sieve-validator.c b/src/lib-sieve/sieve-validator.c
index 12cd6f37d..747e35718 100644
--- a/src/lib-sieve/sieve-validator.c
+++ b/src/lib-sieve/sieve-validator.c
@@ -198,7 +198,7 @@ static const struct sieve_command *
 struct sieve_tag_registration {
 	const struct sieve_argument *tag;
 	
-	unsigned int id_code;
+	int id_code;
 };
 
 static bool _unknown_tag_validate
@@ -215,7 +215,7 @@ static const struct sieve_argument _unknown_tag =
 
 static void _sieve_validator_register_tag
 	(struct sieve_validator *validator, struct sieve_command_registration *cmd_reg, 
-	const struct sieve_argument *tag, const char *identifier, unsigned int id_code) 
+	const struct sieve_argument *tag, const char *identifier, int id_code) 
 {
 	struct sieve_tag_registration *reg;
 	
@@ -233,7 +233,7 @@ static void _sieve_validator_register_tag
 
 void sieve_validator_register_external_tag
 (struct sieve_validator *validator, const struct sieve_argument *tag, 
-	const char *command, unsigned int id_code) 
+	const char *command, int id_code) 
 {
 	struct sieve_command_registration *cmd_reg = 
 		sieve_validator_find_command_registration(validator, command);
@@ -248,7 +248,7 @@ void sieve_validator_register_external_tag
 
 void sieve_validator_register_tag
 	(struct sieve_validator *validator, struct sieve_command_registration *cmd_reg, 
-	const struct sieve_argument *tag, unsigned int id_code) 
+	const struct sieve_argument *tag, int id_code) 
 {
 	if ( tag->is_instance_of == NULL )
 		_sieve_validator_register_tag(validator, cmd_reg, tag, tag->identifier, id_code);
diff --git a/src/lib-sieve/sieve-validator.h b/src/lib-sieve/sieve-validator.h
index 271681bff..3a6e1db12 100644
--- a/src/lib-sieve/sieve-validator.h
+++ b/src/lib-sieve/sieve-validator.h
@@ -27,12 +27,12 @@ void sieve_validator_register_command
 	(struct sieve_validator *validator, const struct sieve_command *command);
 void sieve_validator_register_external_tag
 	(struct sieve_validator *validator, const struct sieve_argument *tag, 
-		const char *command, unsigned int id_code);
+		const char *command, int id_code);
 
 /* Argument registration */
 void sieve_validator_register_tag
 	(struct sieve_validator *validator, struct sieve_command_registration *cmd_reg, 
-	const struct sieve_argument *argument, unsigned int id_code);
+	const struct sieve_argument *argument, int id_code);
 
 /* Special test arguments */
 void sieve_validator_link_match_type_tags
diff --git a/src/lib-sieve/tst-size.c b/src/lib-sieve/tst-size.c
index cd09f8aac..69a5439b2 100644
--- a/src/lib-sieve/tst-size.c
+++ b/src/lib-sieve/tst-size.c
@@ -51,7 +51,7 @@ const struct sieve_opcode tst_size_over_opcode = {
 };
 
 const struct sieve_opcode tst_size_under_opcode = {
-	"SIEVE-UNDER",
+	"SIZE-UNDER",
 	SIEVE_OPCODE_SIZE_UNDER,
 	NULL, 0, 
 	tst_size_opcode_dump, 
-- 
GitLab