[libcamera-devel] [PATCH v2 5/8] cam: options: Store options in a list instead of a vector
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri Feb 1 00:47:18 CET 2019
When option are added to the parser, they are stored in the
OptionsParser::options_ vector, and a pointer to the option referencing
the vector entry is indexed in the OptionsParser::optionsMap_ map. When
the next option is added the vector may be resized, which invalidates
the pointers stored in the map.
Fix this by storing the options in an std::list<> instead of
std::vector<>.
Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
src/cam/options.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/cam/options.h b/src/cam/options.h
index 2272385a0b83..b9b7bd258c03 100644
--- a/src/cam/options.h
+++ b/src/cam/options.h
@@ -8,8 +8,8 @@
#define __CAM_OPTIONS_H__
#include <ctype.h>
+#include <list>
#include <map>
-#include <vector>
enum OptionArgument {
ArgumentNone,
@@ -57,7 +57,7 @@ public:
void usage();
private:
- std::vector<Option> options_;
+ std::list<Option> options_;
std::map<unsigned int, Option *> optionsMap_;
};
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list