[PATCH 07/10] apps: Define local functions in anonymous namespace

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Jun 24 21:29:38 CEST 2024


Multiple local functions are defined in the global namespace without the
static keyword. This compiles fine for now, but will cause a missing
declaration warning when we enable thel. To prepare for that, move the
function declaration to an anonymous namespace.

While at it, for consistency, include an existing static function in the
namespace and drop the static keyword.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/apps/cam/main.cpp          | 4 ++++
 src/apps/common/dng_writer.cpp | 6 +++++-
 src/apps/qcam/main.cpp         | 4 ++++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/apps/cam/main.cpp b/src/apps/cam/main.cpp
index 4f87f200db21..460dbc813060 100644
--- a/src/apps/cam/main.cpp
+++ b/src/apps/cam/main.cpp
@@ -344,12 +344,16 @@ std::string CamApp::cameraName(const Camera *camera)
 	return name;
 }
 
+namespace {
+
 void signalHandler([[maybe_unused]] int signal)
 {
 	std::cout << "Exiting" << std::endl;
 	CamApp::instance()->quit();
 }
 
+} /* namespace */
+
 int main(int argc, char **argv)
 {
 	CamApp app;
diff --git a/src/apps/common/dng_writer.cpp b/src/apps/common/dng_writer.cpp
index 59f1fa23543b..58e35f3f9e1b 100644
--- a/src/apps/common/dng_writer.cpp
+++ b/src/apps/common/dng_writer.cpp
@@ -126,6 +126,8 @@ struct Matrix3d {
 	float m[9];
 };
 
+namespace {
+
 void packScanlineSBGGR8(void *output, const void *input, unsigned int width)
 {
 	const uint8_t *in = static_cast<const uint8_t *>(input);
@@ -282,7 +284,7 @@ void thumbScanlineIPU3([[maybe_unused]] const FormatInfo &info, void *output,
 	}
 }
 
-static const std::map<PixelFormat, FormatInfo> formatInfo = {
+const std::map<PixelFormat, FormatInfo> formatInfo = {
 	{ formats::SBGGR8, {
 		.bitsPerSample = 8,
 		.pattern = { CFAPatternBlue, CFAPatternGreen, CFAPatternGreen, CFAPatternRed },
@@ -381,6 +383,8 @@ static const std::map<PixelFormat, FormatInfo> formatInfo = {
 	} },
 };
 
+} /* namespace */
+
 int DNGWriter::write(const char *filename, const Camera *camera,
 		     const StreamConfiguration &config,
 		     const ControlList &metadata,
diff --git a/src/apps/qcam/main.cpp b/src/apps/qcam/main.cpp
index 9846fba58508..d0bde14130fb 100644
--- a/src/apps/qcam/main.cpp
+++ b/src/apps/qcam/main.cpp
@@ -21,6 +21,8 @@
 
 using namespace libcamera;
 
+namespace {
+
 void signalHandler([[maybe_unused]] int signal)
 {
 	qInfo() << "Exiting";
@@ -52,6 +54,8 @@ OptionsParser::Options parseOptions(int argc, char *argv[])
 	return options;
 }
 
+} /* namespace */
+
 int main(int argc, char **argv)
 {
 	QApplication app(argc, argv);
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list