@@ -248,7 +248,7 @@ public:
p(other.p),
p_off(other.p_off) {}
- iterator operator=(const iterator& other) {
+ iterator& operator=(const iterator& other) {
if (this != &other) {
bl = other.bl;
ls = other.ls;
@@ -305,8 +305,10 @@ public:
list(const list& other) : _buffers(other._buffers), _len(other._len), last_p(this) { }
list& operator= (const list& other) {
- _buffers = other._buffers;
- _len = other._len;
+ if (this != &other) {
+ _buffers = other._buffers;
+ _len = other._len;
+ }
return *this;
}
Fix operator=: return "iterator&" instead of 'iterator'. Check if 'this' equals 'other' before set anything. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de> --- src/include/buffer.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)