summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-01-31 20:47:39 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-02-01 11:42:00 +0200
commit6f3503981a4f20ef3e939a9b91c29ef12d95efd2 (patch)
tree077601839309287b8b60c2e14f31f1b320051323
parent69be770715769bf15fab69bdb650fbcbc0e74db1 (diff)
cam: options: Store options in a list instead of a vector
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@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
-rw-r--r--src/cam/options.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cam/options.h b/src/cam/options.h
index 2272385a..b9b7bd25 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_;
};