if (input->stream_errno != 0) {
ctx->error = p_strdup_printf(ctx->parser_pool,
"read() failed: %m");
+ } else if (input->v_offset == 0) {
+ ctx->error = p_strdup_printf(ctx->parser_pool,
+ "read(%s) disconnected before receiving any data",
+ i_stream_get_name(input));
} else {
- ctx->error = "input is missing end-of-settings line";
+ ctx->error = p_strdup_printf(ctx->parser_pool,
+ "read(%s) disconnected before receiving "
+ "end-of-settings line",
+ i_stream_get_name(input));
}
break;
case -2:
}
input = i_stream_create_fd(fd, max_line_length, TRUE);
+ i_stream_set_name(input, path);
ret = settings_parse_stream_read(ctx, input);
i_stream_unref(&input);
(void)close(fd[1]);
input = i_stream_create_fd(fd[0], (size_t)-1, TRUE);
+ i_stream_set_name(input, bin_path);
ret = settings_parse_stream_read(ctx, input);
i_stream_destroy(&input);