From 9222ce4500dc4c9cf5835b8d10e502cc0b7c499f Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan.bosch@open-xchange.com>
Date: Thu, 19 Aug 2021 01:30:17 +0200
Subject: [PATCH] lib-sieve: sieve-ast - Use sieve_number_t for number values.

---
 src/lib-sieve/sieve-ast.c | 10 ++++++----
 src/lib-sieve/sieve-ast.h |  9 +++++----
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/lib-sieve/sieve-ast.c b/src/lib-sieve/sieve-ast.c
index 78f5e7869..197dbadcf 100644
--- a/src/lib-sieve/sieve-ast.c
+++ b/src/lib-sieve/sieve-ast.c
@@ -585,7 +585,7 @@ void sieve_ast_argument_string_setc(struct sieve_ast_argument *argument,
 }
 
 void sieve_ast_argument_number_substitute(struct sieve_ast_argument *argument,
-					  unsigned int number)
+					  sieve_number_t number)
 {
 	argument->type = SAAT_NUMBER;
 	argument->_value.number = number;
@@ -714,7 +714,8 @@ sieve_ast_argument_tag_insert(struct sieve_ast_argument *before,
 
 struct sieve_ast_argument *
 sieve_ast_argument_number_create(struct sieve_ast_node *node,
-				 unsigned int number, unsigned int source_line)
+				 sieve_number_t number,
+				 unsigned int source_line)
 {
 	struct sieve_ast_argument *argument =
 		sieve_ast_argument_create(node->ast, source_line);
@@ -728,7 +729,7 @@ sieve_ast_argument_number_create(struct sieve_ast_node *node,
 }
 
 void sieve_ast_argument_number_set(struct sieve_ast_argument *argument,
-				   unsigned int newnum)
+				   sieve_number_t newnum)
 {
 	i_assert(argument->type == SAAT_NUMBER);
 	argument->_value.number = newnum;
@@ -993,7 +994,8 @@ sieve_ast_unparse_argument(struct sieve_ast_argument *argument, int level)
 		sieve_ast_unparse_stringlist(argument, level+1);
 		break;
 	case SAAT_NUMBER:
-		printf("%d", sieve_ast_argument_number(argument));
+		printf("%"SIEVE_PRI_NUMBER,
+		       sieve_ast_argument_number(argument));
 		break;
 	case SAAT_TAG:
 		printf(":%s", sieve_ast_argument_tag(argument));
diff --git a/src/lib-sieve/sieve-ast.h b/src/lib-sieve/sieve-ast.h
index 71faed12d..00f8a6b64 100644
--- a/src/lib-sieve/sieve-ast.h
+++ b/src/lib-sieve/sieve-ast.h
@@ -93,7 +93,7 @@ struct sieve_ast_argument {
 		string_t *str;
 		struct sieve_ast_arg_list *strlist;
 		const char *tag;
-		unsigned int number;
+		sieve_number_t number;
 	} _value;
 
 	unsigned int source_line;
@@ -251,7 +251,8 @@ sieve_ast_argument_tag_create(struct sieve_ast_node *node, const char *tag,
 
 struct sieve_ast_argument *
 sieve_ast_argument_number_create(struct sieve_ast_node *node,
-				 unsigned int number, unsigned int source_line);
+				 sieve_number_t number,
+				 unsigned int source_line);
 
 void sieve_ast_argument_string_set(struct sieve_ast_argument *argument,
 				   string_t *newstr);
@@ -259,9 +260,9 @@ void sieve_ast_argument_string_setc(struct sieve_ast_argument *argument,
 				    const char *newstr);
 
 void sieve_ast_argument_number_set(struct sieve_ast_argument *argument,
-				   unsigned int newnum);
+				   sieve_number_t newnum);
 void sieve_ast_argument_number_substitute(struct sieve_ast_argument *argument,
-					  unsigned int number);
+					  sieve_number_t number);
 
 struct sieve_ast_argument *
 sieve_ast_argument_tag_insert(struct sieve_ast_argument *before,
-- 
GitLab