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;
}
{
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 =
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;