Mercurial > dovecot > core-2.2
changeset 22613:bb127acc6c9b
fs-compress: Allow compress level 0 to skip compression
This can be useful when combined with the "maybe-" prefix, so Dovecot will
support reading compressed files without creating new ones.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Fri, 13 Oct 2017 12:34:01 +0300 |
parents | 9cc4ce6f3920 |
children | cf66220d281e |
files | src/plugins/fs-compress/fs-compress.c |
diffstat | 1 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/fs-compress/fs-compress.c Mon Oct 09 16:37:08 2017 +0300 +++ b/src/plugins/fs-compress/fs-compress.c Fri Oct 13 12:34:01 2017 +0300 @@ -70,7 +70,7 @@ level_str = t_strdup_until(args, p++); if (str_to_uint(level_str, &fs->compress_level) < 0 || - fs->compress_level < 1 || fs->compress_level > 9) { + fs->compress_level > 9) { fs_set_error(_fs, "Invalid compression level parameter '%s'", level_str); return -1; } @@ -205,6 +205,11 @@ { struct compress_fs_file *file = (struct compress_fs_file *)_file; + if (file->fs->compress_level == 0) { + fs_wrapper_write_stream(_file); + return; + } + i_assert(_file->output == NULL); file->temp_output = @@ -221,6 +226,9 @@ struct istream *input; int ret; + if (file->fs->compress_level == 0) + return fs_wrapper_write_stream_finish(_file, success); + if (_file->output != NULL) { if (_file->output->closed) success = FALSE;