From ba5d2c871acef4bbe6977e93014c8ff1f0a09e7f Mon Sep 17 00:00:00 2001
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Wed, 1 May 2019 03:25:01 +0300
Subject: libcamera: camera: Fix std::ostringstream initialisation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

We use the std::ostringstream class to generate log messages in the
Camera class. The stream is initialised with initial content, but is not
opened without seeking to the end, which results in the content being
overwritten immediately. Fix it by opening the stream with
std::ios_base::ate.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
---
 src/libcamera/camera.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp
index fbc66ded..1a21acac 100644
--- a/src/libcamera/camera.cpp
+++ b/src/libcamera/camera.cpp
@@ -560,7 +560,7 @@ Camera::streamConfiguration(const std::vector<StreamUsage> &usages)
 
 	CameraConfiguration config = pipe_->streamConfiguration(this, usages);
 
-	std::ostringstream msg("streams configuration:");
+	std::ostringstream msg("streams configuration:", std::ios_base::ate);
 	unsigned int index = 0;
 
 	for (Stream *stream : config) {
@@ -614,7 +614,7 @@ int Camera::configureStreams(const CameraConfiguration &config)
 		return -EINVAL;
 	}
 
-	std::ostringstream msg("configuring streams:");
+	std::ostringstream msg("configuring streams:", std::ios_base::ate);
 	unsigned int index = 0;
 
 	for (Stream *stream : config) {
-- 
cgit v1.2.1