From: Alex Rousskov Date: Thu, 31 Mar 2016 23:33:45 +0000 (-0600) Subject: Do not expose TidyPointer internals. No functionality changes intended. X-Git-Tag: SQUID_4_0_8~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=01b50eb11fadc7ab11373d79bbfe5012f6431a15;p=thirdparty%2Fsquid.git Do not expose TidyPointer internals. No functionality changes intended. --- diff --git a/src/base/TidyPointer.h b/src/base/TidyPointer.h index ce2c3bd966..50b21e2a09 100644 --- a/src/base/TidyPointer.h +++ b/src/base/TidyPointer.h @@ -27,8 +27,7 @@ public: explicit operator bool() const { return raw; } /// Returns raw and possibly NULL pointer T *get() const { return raw; } - /// Address of the raw pointer, for pointer-setting functions - T **addr() { return &raw; } + /// Reset raw pointer - delete last one and save new one. void reset(T *t) { deletePointer(); diff --git a/src/security/LockingPointer.h b/src/security/LockingPointer.h index 3d3c6e0890..837012f356 100644 --- a/src/security/LockingPointer.h +++ b/src/security/LockingPointer.h @@ -58,15 +58,12 @@ public: } #if __cplusplus >= 201103L - explicit LockingPointer(LockingPointer &&o): Parent(o.get()) { - *o.addr() = nullptr; + explicit LockingPointer(LockingPointer &&o): Parent(o.release()) { } LockingPointer &operator =(LockingPointer &&o) { - if (o.get() != this->get()) { - this->reset(o.get()); - *o.addr() = nullptr; - } + if (o.get() != this->get()) + this->reset(o.release()); return *this; } #endif