From 5d987629d9df6f9eeb76079a99810d57c820219e Mon Sep 17 00:00:00 2001
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Fri, 26 Apr 2019 17:47:13 +0300
Subject: cam: options: Don't initialise variable-length arrays
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

According to clang, variable-length arrays can't be initialised. Don't
do so, and explicitly set the last element to 0 instead.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 src/cam/options.cpp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

(limited to 'src/cam')

diff --git a/src/cam/options.cpp b/src/cam/options.cpp
index 172d40f7..b80d361e 100644
--- a/src/cam/options.cpp
+++ b/src/cam/options.cpp
@@ -382,8 +382,8 @@ OptionsParser::Options OptionsParser::parse(int argc, char **argv)
 	 * Allocate short and long options arrays large enough to contain all
 	 * options.
 	 */
-	char shortOptions[options_.size() * 3 + 2] = {};
-	struct option longOptions[options_.size() + 1] = {};
+	char shortOptions[options_.size() * 3 + 2];
+	struct option longOptions[options_.size() + 1];
 	unsigned int ids = 0;
 	unsigned int idl = 0;
 
@@ -419,6 +419,9 @@ OptionsParser::Options OptionsParser::parse(int argc, char **argv)
 		}
 	}
 
+	shortOptions[ids] = '\0';
+	memset(&longOptions[idl], 0, sizeof(longOptions[idl]));
+
 	opterr = 0;
 
 	while (true) {
-- 
cgit v1.2.1