From 78acdf9095f61f359d444e46d2cb2f4c30f27746 Mon Sep 17 00:00:00 2001 From: thez3ro Date: Tue, 7 Mar 2017 20:16:51 +0100 Subject: [PATCH] pointer to referenceRegExp --- src/core/Entry.cpp | 18 +++++++++--------- src/core/EntryAttributes.cpp | 4 ++-- src/core/EntryAttributes.h | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/core/Entry.cpp b/src/core/Entry.cpp index 235dd3a7e..a2e72f7fd 100644 --- a/src/core/Entry.cpp +++ b/src/core/Entry.cpp @@ -690,20 +690,20 @@ QString Entry::resolvePlaceholder(const QString& str) const // using format from http://keepass.info/help/base/fieldrefs.html at the time of writing, // but supporting lookups of standard fields and references by UUID only - QRegExp tmpRegExp = m_attributes->referenceRegExp(); - if (tmpRegExp.indexIn(result) != -1) { + QRegExp* tmpRegExp = m_attributes->referenceRegExp(); + if (tmpRegExp->indexIn(result) != -1) { // cap(0) contains the whole reference // cap(1) contains which field is wanted // cap(2) contains the uuid of the referenced entry - Entry* tmpRefEntry = m_group->database()->resolveEntry(Uuid(QByteArray::fromHex(tmpRegExp.cap(2).toLatin1()))); + Entry* tmpRefEntry = m_group->database()->resolveEntry(Uuid(QByteArray::fromHex(tmpRegExp->cap(2).toLatin1()))); if (tmpRefEntry) { // entry found, get the relevant field - QString tmpRefField = tmpRegExp.cap(1).toLower(); - if (tmpRefField == "t") result.replace(tmpRegExp.cap(0), tmpRefEntry->title(), Qt::CaseInsensitive); - else if (tmpRefField == "u") result.replace(tmpRegExp.cap(0), tmpRefEntry->username(), Qt::CaseInsensitive); - else if (tmpRefField == "p") result.replace(tmpRegExp.cap(0), tmpRefEntry->password(), Qt::CaseInsensitive); - else if (tmpRefField == "a") result.replace(tmpRegExp.cap(0), tmpRefEntry->url(), Qt::CaseInsensitive); - else if (tmpRefField == "n") result.replace(tmpRegExp.cap(0), tmpRefEntry->notes(), Qt::CaseInsensitive); + QString tmpRefField = tmpRegExp->cap(1).toLower(); + if (tmpRefField == "t") result.replace(tmpRegExp->cap(0), tmpRefEntry->title(), Qt::CaseInsensitive); + else if (tmpRefField == "u") result.replace(tmpRegExp->cap(0), tmpRefEntry->username(), Qt::CaseInsensitive); + else if (tmpRefField == "p") result.replace(tmpRegExp->cap(0), tmpRefEntry->password(), Qt::CaseInsensitive); + else if (tmpRefField == "a") result.replace(tmpRegExp->cap(0), tmpRefEntry->url(), Qt::CaseInsensitive); + else if (tmpRefField == "n") result.replace(tmpRegExp->cap(0), tmpRefEntry->notes(), Qt::CaseInsensitive); } } diff --git a/src/core/EntryAttributes.cpp b/src/core/EntryAttributes.cpp index 94e5f96b6..865e853f2 100644 --- a/src/core/EntryAttributes.cpp +++ b/src/core/EntryAttributes.cpp @@ -84,9 +84,9 @@ bool EntryAttributes::isReference(const QString& key) const return false; } -QRegExp EntryAttributes::referenceRegExp() const +QRegExp* EntryAttributes::referenceRegExp() { - return m_referenceRegExp; + return &m_referenceRegExp; } void EntryAttributes::set(const QString& key, const QString& value, bool protect) diff --git a/src/core/EntryAttributes.h b/src/core/EntryAttributes.h index 42abed1ee..78afe5efa 100644 --- a/src/core/EntryAttributes.h +++ b/src/core/EntryAttributes.h @@ -36,7 +36,7 @@ public: bool contains(const QString& key) const; bool isProtected(const QString& key) const; bool isReference(const QString& key) const; - QRegExp referenceRegExp() const; + QRegExp* referenceRegExp(); void set(const QString& key, const QString& value, bool protect = false); void remove(const QString& key); void rename(const QString& oldKey, const QString& newKey);