diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-03-28 16:29:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-28 16:29:08 +0200 |
commit | 5c483c01acbe43c0ea80d5e6c545aec8a231bc4e (patch) | |
tree | 9709ad30b761f25981a214aa1e715e9c1d43b5d4 | |
parent | bd295ba74bae59178c78da73a4e081bfc39d95cc (diff) | |
parent | 9caf7f7cd6e0bb5672c407dbf871114e894afab7 (diff) |
Merge pull request #21853 from vespa-engine/vekterli/do-not-take-ref-of-empty-vector-elem
Don't take ref of 1st vector element when empty
-rw-r--r-- | config/src/vespa/config/common/configparser.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/config/src/vespa/config/common/configparser.h b/config/src/vespa/config/common/configparser.h index 42ee684eb59..48db4b8e16a 100644 --- a/config/src/vespa/config/common/configparser.h +++ b/config/src/vespa/config/common/configparser.h @@ -17,14 +17,17 @@ public: class Cfg { public: Cfg(const std::vector<vespalib::string> & v) - : _cfg(&v[0]), _sz(v.size()) + : _cfg(v.empty() ? nullptr : &v[0]), + _sz(v.size()) { } Cfg(const std::vector<vespalib::string, vespalib::allocator_large<vespalib::string>> & v) : - _cfg(&v[0]), + _cfg(v.empty() ? nullptr : &v[0]), _sz(v.size()) { } - size_t size() const { return _sz; } - const vespalib::string & operator[] (size_t idx) const { return _cfg[idx]; } + size_t size() const noexcept { return _sz; } + const vespalib::string & operator[] (size_t idx) const noexcept { + return _cfg[idx]; + } private: const vespalib::string * _cfg; size_t _sz; |