core: replace same_weightsystem() by operator==()

The important point is that this now takes a reference that
avoid string copying. The old code used C-strings and therefore
copy-semantics were OK.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2024-06-30 22:12:25 +02:00 committed by bstoeger
parent fb3a157462
commit 777e7f32a5
4 changed files with 8 additions and 7 deletions

View file

@ -951,7 +951,7 @@ void AddWeight::redo()
static int find_weightsystem_index(const struct dive *d, const weightsystem_t &ws)
{
return index_of_if(d->weightsystems, [&ws](auto &ws2) { return same_weightsystem(ws2, ws); });
return index_of_if(d->weightsystems, [&ws](auto &ws2) { return ws == ws2; });
}
EditWeightBase::EditWeightBase(int index, bool currentDiveOnly) :
@ -1047,7 +1047,7 @@ EditWeight::EditWeight(int index, weightsystem_t wsIn, bool currentDiveOnly) :
new_ws.description = it->name;
// If that doesn't change anything, do nothing
if (same_weightsystem(ws, new_ws)) {
if (ws == new_ws) {
dives.clear();
return;
}