dovecot-2.0-pigeonhole: Sieve binary: now using better defined i...

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Fri Jul 30 20:03:36 EEST 2010


details:   http://hg.rename-it.nl/dovecot-2.0-pigeonhole/rev/5427ab9c95da
changeset: 1347:5427ab9c95da
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Fri Jul 30 19:03:30 2010 +0200
description:
Sieve binary: now using better defined integer types for byte-coded data

diffstat:

 src/lib-sieve/plugins/variables/ext-variables-common.c |   4 +-
 src/lib-sieve/sieve-binary-code.c                      |  30 +++++++-------
 src/lib-sieve/sieve-binary.h                           |   6 +-
 src/lib-sieve/sieve-code.c                             |   6 +-
 src/lib-sieve/sieve-interpreter.c                      |   2 +-
 src/testsuite/cmd-test-fail.c                          |   2 +-
 6 files changed, 25 insertions(+), 25 deletions(-)

diffs (213 lines):

diff -r 5acdd784dd98 -r 5427ab9c95da src/lib-sieve/plugins/variables/ext-variables-common.c
--- a/src/lib-sieve/plugins/variables/ext-variables-common.c	Fri Jul 30 17:07:56 2010 +0200
+++ b/src/lib-sieve/plugins/variables/ext-variables-common.c	Fri Jul 30 19:03:30 2010 +0200
@@ -240,7 +240,7 @@
 	struct sieve_variable_scope *local_scope;
 	unsigned int i, scope_size;
 	sieve_size_t pc;
-	int end_offset;
+	sieve_offset_t end_offset;
 
 	/* Read scope size */	
 	sieve_code_mark(denv);
@@ -310,7 +310,7 @@
 	const char *ext_name = 
 		( ext == NULL ? "variables" : sieve_extension_name(ext) );
 	sieve_size_t pc;
-	int end_offset;
+	sieve_offset_t end_offset;
 
 	/* Read scope size */	
 	if ( !sieve_binary_read_unsigned(sblock, address, &scope_size) ) {
diff -r 5acdd784dd98 -r 5427ab9c95da src/lib-sieve/sieve-binary-code.c
--- a/src/lib-sieve/sieve-binary-code.c	Fri Jul 30 17:07:56 2010 +0200
+++ b/src/lib-sieve/sieve-binary-code.c	Fri Jul 30 19:03:30 2010 +0200
@@ -38,7 +38,7 @@
 }
 
 static inline void _sieve_binary_emit_byte
-(struct sieve_binary_block *sblock, unsigned char byte)
+(struct sieve_binary_block *sblock, uint8_t byte)
 {
 	_sieve_binary_emit_data(sblock, &byte, 1);
 }
@@ -61,7 +61,7 @@
 }
 
 sieve_size_t sieve_binary_emit_byte
-(struct sieve_binary_block *sblock, unsigned char byte) 
+(struct sieve_binary_block *sblock, uint8_t byte) 
 {
 	sieve_size_t address = _sieve_binary_block_get_size(sblock);
 
@@ -80,13 +80,13 @@
 /* Offset emission functions */
 
 sieve_size_t sieve_binary_emit_offset
-(struct sieve_binary_block *sblock, int offset) 
+(struct sieve_binary_block *sblock, sieve_offset_t offset) 
 {
 	int i;
 	sieve_size_t address = _sieve_binary_block_get_size(sblock);
 
 	for ( i = 3; i >= 0; i-- ) {
-		char c = (char) (offset >> (i * 8));
+		uint8_t c = (uint8_t) (offset >> (i * 8));
 		_sieve_binary_emit_data(sblock, &c, 1);
 	}
 	
@@ -97,10 +97,10 @@
 (struct sieve_binary_block *sblock, sieve_size_t address) 
 {
 	int i;
-	int offset = _sieve_binary_block_get_size(sblock) - address; 
+	sieve_offset_t offset = _sieve_binary_block_get_size(sblock) - address; 
 	
 	for ( i = 3; i >= 0; i-- ) {
-		char c = (char) (offset >> (i * 8));	
+		uint8_t c = (uint8_t) (offset >> (i * 8));	
 		_sieve_binary_update_data(sblock, address + 3 - i, &c, 1);
 	}
 }
@@ -112,7 +112,7 @@
 {
 	sieve_size_t address = _sieve_binary_block_get_size(sblock);
 	int i;
-	char buffer[sizeof(sieve_number_t) + 1];
+	uint8_t buffer[sizeof(sieve_number_t) + 1];
 	int bufpos = sizeof(buffer) - 1;
   
 	buffer[bufpos] = integer & 0x7F;
@@ -201,14 +201,14 @@
 
 #define ADDR_CODE_READ(block) \
 	size_t _code_size; \
-	const signed char *_code = buffer_get_data((block)->data, &_code_size)
+	const int8_t *_code = buffer_get_data((block)->data, &_code_size)
  
 #define ADDR_CODE_AT(address) \
-	((signed char) (_code[*address]))
+	((int8_t) (_code[*address]))
 #define ADDR_DATA_AT(address) \
-	((unsigned char) (_code[*address]))
+	((uint8_t) (_code[*address]))
 #define ADDR_POINTER(address) \
-	((const char *) (&_code[*address]))
+	((const int8_t *) (&_code[*address]))
 
 #define ADDR_BYTES_LEFT(address) \
 	((_code_size) - (*address))
@@ -253,9 +253,9 @@
 
 
 bool sieve_binary_read_offset
-(struct sieve_binary_block *sblock, sieve_size_t *address, int *offset_r) 
+(struct sieve_binary_block *sblock, sieve_size_t *address, sieve_offset_t *offset_r) 
 {
-	uint32_t offs = 0;
+	sieve_offset_t offs = 0;
 	ADDR_CODE_READ(sblock);
 	
 	if ( ADDR_BYTES_LEFT(address) >= 4 ) {
@@ -267,7 +267,7 @@
 		}
 	  
 		if ( offset_r != NULL )
-			*offset_r = (int) offs;
+			*offset_r = offs;
 			
 		return TRUE;
 	}
@@ -320,7 +320,7 @@
 		return FALSE;
  
  	if ( str_r != NULL )  
-		*str_r = t_str_new_const(ADDR_POINTER(address), strlen);
+		*str_r = t_str_new_const((const char *) ADDR_POINTER(address), strlen);
 	ADDR_JUMP(address, strlen);
 	
 	if ( ADDR_CODE_AT(address) != 0 )
diff -r 5acdd784dd98 -r 5427ab9c95da src/lib-sieve/sieve-binary.h
--- a/src/lib-sieve/sieve-binary.h	Fri Jul 30 17:07:56 2010 +0200
+++ b/src/lib-sieve/sieve-binary.h	Fri Jul 30 19:03:30 2010 +0200
@@ -148,7 +148,7 @@
 sieve_size_t sieve_binary_emit_data
 	(struct sieve_binary_block *sblock, const void *data, sieve_size_t size);
 sieve_size_t sieve_binary_emit_byte
-	(struct sieve_binary_block *sblock, unsigned char byte);
+	(struct sieve_binary_block *sblock, uint8_t byte);
 void sieve_binary_update_data
 	(struct sieve_binary_block *sblock, sieve_size_t address, const void *data, 
 		sieve_size_t size);
@@ -156,7 +156,7 @@
 /* Offset emission functions */
 
 sieve_size_t sieve_binary_emit_offset
-	(struct sieve_binary_block *sblock, int offset);
+	(struct sieve_binary_block *sblock, sieve_offset_t offset);
 void sieve_binary_resolve_offset
 	(struct sieve_binary_block *sblock, sieve_size_t address);
 
@@ -198,7 +198,7 @@
 		signed int *code_r);
 bool sieve_binary_read_offset
 	(struct sieve_binary_block *sblock, sieve_size_t *address,
-		int *offset_r);
+		sieve_offset_t *offset_r);
 bool sieve_binary_read_integer
   (struct sieve_binary_block *sblock, sieve_size_t *address, 
 		sieve_number_t *int_r); 
diff -r 5acdd784dd98 -r 5427ab9c95da src/lib-sieve/sieve-code.c
--- a/src/lib-sieve/sieve-code.c	Fri Jul 30 17:07:56 2010 +0200
+++ b/src/lib-sieve/sieve-code.c	Fri Jul 30 19:03:30 2010 +0200
@@ -765,7 +765,7 @@
 	sieve_size_t pc = *address;
 	sieve_size_t end; 
 	unsigned int length = 0; 
- 	int end_offset;
+ 	sieve_offset_t end_offset;
 
 	if ( !sieve_binary_read_offset(denv->sblock, address, &end_offset) )
 		return FALSE;
@@ -785,7 +785,7 @@
 	sieve_size_t pc = *address;
 	sieve_size_t end; 
 	unsigned int length = 0;  
-	int end_offset;
+	sieve_offset_t end_offset;
 	
 	if ( !sieve_binary_read_offset(renv->sblock, address, &end_offset) )
 		return NULL;
@@ -1022,7 +1022,7 @@
 {
 	const struct sieve_operation *oprtn = denv->oprtn;
 	unsigned int pc = *address;
-	int offset;
+	sieve_offset_t offset;
 	
 	if ( sieve_binary_read_offset(denv->sblock, address, &offset) ) 
 		sieve_code_dumpf(denv, "%s %d [%08x]", 
diff -r 5acdd784dd98 -r 5427ab9c95da src/lib-sieve/sieve-interpreter.c
--- a/src/lib-sieve/sieve-interpreter.c	Fri Jul 30 17:07:56 2010 +0200
+++ b/src/lib-sieve/sieve-interpreter.c	Fri Jul 30 19:03:30 2010 +0200
@@ -413,7 +413,7 @@
 	const struct sieve_runtime_env *renv = &interp->runenv;
 	sieve_size_t *address = &(interp->runenv.pc);
 	sieve_size_t jmp_start = *address;
-	int jmp_offset;
+	sieve_offset_t jmp_offset;
 	
 	if ( !sieve_binary_read_offset(renv->sblock, address, &jmp_offset) )
 	{
diff -r 5acdd784dd98 -r 5427ab9c95da src/testsuite/cmd-test-fail.c
--- a/src/testsuite/cmd-test-fail.c	Fri Jul 30 17:07:56 2010 +0200
+++ b/src/testsuite/cmd-test-fail.c	Fri Jul 30 19:03:30 2010 +0200
@@ -105,7 +105,7 @@
 (const struct sieve_dumptime_env *denv, sieve_size_t *address)
 {
 	unsigned int pc;
-	int offset;
+	sieve_offset_t offset;
     
 	sieve_code_dumpf(denv, "TEST_FAIL:");
 	sieve_code_descend(denv);


More information about the dovecot-cvs mailing list