From 18338b4b16d21ae5c0297a6916be7154f6d9cc5f Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan@dovecot.fi> Date: Tue, 2 Aug 2016 19:39:15 +0200 Subject: [PATCH] lib-sieve: lexer: Adjusted to Dovecot change: i_stream_get_data() no longer returns NULL when returned size = 0. --- src/lib-sieve/sieve-lexer.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib-sieve/sieve-lexer.c b/src/lib-sieve/sieve-lexer.c index 19946530d..c200cdc47 100644 --- a/src/lib-sieve/sieve-lexer.c +++ b/src/lib-sieve/sieve-lexer.c @@ -236,19 +236,19 @@ void sieve_lexer_token_print(const struct sieve_lexer *lexer) static void sieve_lexer_shift(struct sieve_lexical_scanner *scanner) { - if ( scanner->buffer != NULL && scanner->buffer[scanner->buffer_pos] == '\n' ) + if ( scanner->buffer_size > 0 && scanner->buffer[scanner->buffer_pos] == '\n' ) scanner->current_line++; - if ( scanner->buffer != NULL && + if ( scanner->buffer_size > 0 && scanner->buffer_pos + 1 < scanner->buffer_size ) scanner->buffer_pos++; else { - if ( scanner->buffer != NULL ) + if ( scanner->buffer_size > 0 ) i_stream_skip(scanner->input, scanner->buffer_size); scanner->buffer = i_stream_get_data(scanner->input, &scanner->buffer_size); - if ( scanner->buffer == NULL && i_stream_read(scanner->input) > 0 ) + if ( scanner->buffer_size == 0 && i_stream_read(scanner->input) > 0 ) scanner->buffer = i_stream_get_data (scanner->input, &scanner->buffer_size); @@ -258,7 +258,7 @@ static void sieve_lexer_shift(struct sieve_lexical_scanner *scanner) static inline int sieve_lexer_curchar(struct sieve_lexical_scanner *scanner) { - if ( scanner->buffer == NULL ) + if ( scanner->buffer_size == 0 ) return -1; return scanner->buffer[scanner->buffer_pos]; -- GitLab