From 6cc8c32377cf629a4cd6e73ade2860d99b4a7240 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan@rename-it.nl>
Date: Thu, 9 Sep 2010 09:24:40 +0200
Subject: [PATCH] Fixed series of AIX compiler warnings.

---
 src/lib-sieve/plugins/body/tst-body.c           |  8 +++++---
 .../plugins/include/ext-include-binary.c        |  2 +-
 .../plugins/notify/ext-notify-common.c          |  4 ++--
 .../plugins/variables/ext-variables-arguments.c |  3 +--
 src/lib-sieve/sieve-plugins.c                   | 17 +++++++++++++----
 5 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/src/lib-sieve/plugins/body/tst-body.c b/src/lib-sieve/plugins/body/tst-body.c
index f10382cfa..0793baaf2 100644
--- a/src/lib-sieve/plugins/body/tst-body.c
+++ b/src/lib-sieve/plugins/body/tst-body.c
@@ -247,7 +247,7 @@ static bool tag_body_transform_generate
 static bool ext_body_operation_dump
 (const struct sieve_dumptime_env *denv, sieve_size_t *address)
 {
-	enum tst_body_transform transform;
+	unsigned int transform;
 	int opt_code = 0;
 
 	sieve_code_dumpf(denv, "BODY");
@@ -307,7 +307,7 @@ static int ext_body_operation_execute
 		SIEVE_COMPARATOR_DEFAULT(i_ascii_casemap_comparator);
 	struct sieve_match_type mcht = 
 		SIEVE_MATCH_TYPE_DEFAULT(is_match_type);
-	enum tst_body_transform transform = TST_BODY_TRANSFORM_TEXT;
+	unsigned int transform = TST_BODY_TRANSFORM_TEXT;
 	struct sieve_stringlist *ctype_list, *value_list, *key_list;
 	bool mvalues_active;
 	const char * const *content_types = NULL;
@@ -341,6 +341,7 @@ static int ext_body_operation_execute
 				(ret=sieve_opr_stringlist_read
 					(renv, address, "content-type-list", &ctype_list)) <= 0 )
 				return ret;
+
 			break;
 
 		default:
@@ -368,7 +369,8 @@ static int ext_body_operation_execute
 	sieve_runtime_trace(renv, SIEVE_TRLVL_TESTS, "body test");
 	
 	/* Extract requested parts */
-	value_list = ext_body_get_part_list(renv, transform, content_types);
+	value_list = ext_body_get_part_list
+		(renv, (enum tst_body_transform) transform, content_types);
 	if ( value_list == FALSE )
 		return SIEVE_EXEC_FAILURE;
 
diff --git a/src/lib-sieve/plugins/include/ext-include-binary.c b/src/lib-sieve/plugins/include/ext-include-binary.c
index 02d90f29b..7373f8b5b 100644
--- a/src/lib-sieve/plugins/include/ext-include-binary.c
+++ b/src/lib-sieve/plugins/include/ext-include-binary.c
@@ -265,7 +265,7 @@ static bool ext_include_binary_open
 	for ( i = 0; i < depcount; i++ ) {
 		unsigned int inc_block_id;
 		struct sieve_binary_block *inc_block;
-		enum ext_include_script_location location;
+		unsigned int location;
 		string_t *script_name;
 		const char *script_dir;
 		struct sieve_script *script;
diff --git a/src/lib-sieve/plugins/notify/ext-notify-common.c b/src/lib-sieve/plugins/notify/ext-notify-common.c
index b700719fc..c61e8f73a 100644
--- a/src/lib-sieve/plugins/notify/ext-notify-common.c
+++ b/src/lib-sieve/plugins/notify/ext-notify-common.c
@@ -131,12 +131,12 @@ static bool _is_text_content(const struct message_header_line *hdr)
 	/* Parse content type */
 	content_type = t_str_new(64);
 	if (rfc822_parse_content_type(&parser, content_type) < 0)
-		return "";
+		return FALSE;
 
 	/* Content-type value must end here, otherwise it is invalid after all */
 	(void)rfc822_skip_lwsp(&parser);
 	if ( parser.data != parser.end && *parser.data != ';' )
-		return "";
+		return FALSE;
 
 	/* Success */
 	data = str_c(content_type);
diff --git a/src/lib-sieve/plugins/variables/ext-variables-arguments.c b/src/lib-sieve/plugins/variables/ext-variables-arguments.c
index cd92e5180..0f9179526 100644
--- a/src/lib-sieve/plugins/variables/ext-variables-arguments.c
+++ b/src/lib-sieve/plugins/variables/ext-variables-arguments.c
@@ -54,8 +54,7 @@ static bool ext_variables_variable_argument_activate
 	
 	arg->argument = sieve_argument_create(ast, &variable_argument, this_ext, 0);
 	arg->argument->data = (void *) var;
-	
-	return arg;
+	return TRUE;
 }
 
 static struct sieve_ast_argument *ext_variables_variable_argument_create
diff --git a/src/lib-sieve/sieve-plugins.c b/src/lib-sieve/sieve-plugins.c
index 182e857df..c1abcc07c 100644
--- a/src/lib-sieve/sieve-plugins.c
+++ b/src/lib-sieve/sieve-plugins.c
@@ -11,6 +11,15 @@
 #include "sieve-common.h"
 #include "sieve-plugins.h"
 
+/*
+ * Types
+ */
+
+typedef void (*sieve_plugin_load_func_t)
+	(struct sieve_instance *svinst, void **context);
+typedef void (*sieve_plugin_unload_func_t)
+	(struct sieve_instance *svinst, void *context);
+
 struct sieve_plugin {
 	struct module *module;
 	
@@ -106,7 +115,7 @@ void sieve_plugins_load(struct sieve_instance *svinst, const char *path, const c
  	for (i = 0; module_names[i] != NULL; i++) {
 		struct sieve_plugin *plugin;
 		const char *name = module_names[i];
-		void (*load_func)(struct sieve_instance *svinst, void **context);
+		sieve_plugin_load_func_t load_func;
 
 		/* Find the module */
 		module = sieve_plugin_module_find(name);
@@ -129,7 +138,7 @@ void sieve_plugins_load(struct sieve_instance *svinst, const char *path, const c
 		plugin->module = module;
 	
 		/* Call load function */
-		load_func = module_get_symbol
+		load_func = (sieve_plugin_load_func_t) module_get_symbol
 			(module, t_strdup_printf("%s_load", module->name));
 		if ( load_func != NULL ) {
 			load_func(svinst, &plugin->context);
@@ -162,9 +171,9 @@ void sieve_plugins_unload(struct sieve_instance *svinst)
 	plugin = svinst->plugins;
 	while ( plugin != NULL ) {
 		struct module *module = plugin->module;
-		void (*unload_func)(struct sieve_instance *svinst, void *context);
+		sieve_plugin_unload_func_t unload_func;
 
-		unload_func = module_get_symbol
+		unload_func = (sieve_plugin_unload_func_t)module_get_symbol
 			(module, t_strdup_printf("%s_unload", module->name));
 		if ( unload_func != NULL ) {
 			unload_func(svinst, plugin->context);
-- 
GitLab