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