From 2e8230f063f8f5d61e4a0f7eacf169eda3859c1f Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Sun, 6 Feb 2022 23:46:10 +0000 Subject: [PATCH] Be more consistent about using .data() for gettng C arrays It's safer than &var[0] as that will invoke undefined behaviour if var is empty. --- src/api/helpers/text.cpp | 10 +++++----- src/api/plugin.cpp | 2 +- src/api/sorting/group_sort.cpp | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/api/helpers/text.cpp b/src/api/helpers/text.cpp index 792d3e18..1aaa559f 100644 --- a/src/api/helpers/text.cpp +++ b/src/api/helpers/text.cpp @@ -143,8 +143,8 @@ std::wstring ToWinWide(const std::string& str) { 0, str.c_str(), static_cast(str.length()), - &wstr[0], - static_cast(len)); + wstr.data(), + static_cast(wstr.length())); return wstr; } @@ -167,8 +167,8 @@ std::string FromWinWide(const std::wstring& wstr) { 0, wstr.c_str(), static_cast(wstr.length()), - &str[0], - static_cast(len), + str.data(), + static_cast(str.length()), NULL, NULL); return str; @@ -208,7 +208,7 @@ std::string NormalizeFilename(const std::string& filename) { return std::string(); } - CharUpperBuffW(&wideString[0], static_cast(wideString.length())); + CharUpperBuffW(wideString.data(), static_cast(wideString.length())); return FromWinWide(wideString); #else std::string normalizedFilename; diff --git a/src/api/plugin.cpp b/src/api/plugin.cpp index 46c8b8c3..774480f2 100644 --- a/src/api/plugin.cpp +++ b/src/api/plugin.cpp @@ -204,7 +204,7 @@ size_t Plugin::GetOverlapSize( size_t overlapSize = 0; auto ret = esp_plugin_records_overlap_size( - esPlugin.get(), &esPlugins[0], esPlugins.size(), &overlapSize); + esPlugin.get(), esPlugins.data(), esPlugins.size(), &overlapSize); if (ret != ESP_OK) { throw FileAccessError("Error getting overlap size for \"" + name_ + "\". esplugin error code: " + std::to_string(ret)); diff --git a/src/api/sorting/group_sort.cpp b/src/api/sorting/group_sort.cpp index c46be246..192caab0 100644 --- a/src/api/sorting/group_sort.cpp +++ b/src/api/sorting/group_sort.cpp @@ -269,7 +269,7 @@ std::vector GetGroupsPath(const std::vector& masterlistGroups, boost::weight_map(edge_map_t(weightMap)) .predecessor_map(boost::make_iterator_property_map( predecessors.begin(), get(boost::vertex_index, graph))) - .distance_map(&distance[0]) + .distance_map(distance.data()) .root_vertex(toVertex)); std::vector path;