[RFC PATCH v2 12/13] apps: ppm_writer: Return EIO on I/O errors

Milan Zamazal mzamazal at redhat.com
Fri Jan 24 22:58:03 CET 2025


EINVAL should be returned only when the requested format is unsupported.
On errors when writing the data, let's return EIO, which is the closest
description of the situation when we don't inspect it more.

Signed-off-by: Milan Zamazal <mzamazal at redhat.com>
---
 src/apps/common/ppm_writer.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/apps/common/ppm_writer.cpp b/src/apps/common/ppm_writer.cpp
index 2e9378aa..368de8bf 100644
--- a/src/apps/common/ppm_writer.cpp
+++ b/src/apps/common/ppm_writer.cpp
@@ -29,7 +29,7 @@ int PPMWriter::write(const char *filename,
 	std::ofstream output(filename, std::ios::binary);
 	if (!output) {
 		std::cerr << "Failed to open ppm file: " << filename << std::endl;
-		return -EINVAL;
+		return -EIO;
 	}
 
 	output << "P6" << std::endl
@@ -37,7 +37,7 @@ int PPMWriter::write(const char *filename,
 	       << "255" << std::endl;
 	if (!output) {
 		std::cerr << "Failed to write the file header" << std::endl;
-		return -EINVAL;
+		return -EIO;
 	}
 
 	const unsigned int rowLength = config.size.width * 3;
@@ -46,7 +46,7 @@ int PPMWriter::write(const char *filename,
 		output.write(row, rowLength);
 		if (!output) {
 			std::cerr << "Failed to write image data at row " << y << std::endl;
-			return -EINVAL;
+			return -EIO;
 		}
 	}
 
-- 
2.48.1



More information about the libcamera-devel mailing list