]> git.tdb.fi Git - libs/core.git/blobdiff - source/fs/stat.cpp
Add move semantics to Variant
[libs/core.git] / source / fs / stat.cpp
index ae9f803a9d16f1030da32d1c9e63f14cf7b48356..e296ead3816b9317ecd44f0bc82bf6fbd12cbbed 100644 (file)
@@ -14,11 +14,14 @@ Stat::Stat(const Stat &other):
        alloc_size(other.alloc_size),
        mtime(other.mtime),
        owner_info(other.owner_info),
-       priv(other.priv ? new Private(*other.priv) : 0)
+       priv(other.priv ? new Private(*other.priv) : nullptr)
 { }
 
 Stat &Stat::operator=(const Stat &other)
 {
+       if(&other==this)
+               return *this;
+
        exists = other.exists;
        type = other.type;
        size = other.size;
@@ -26,7 +29,7 @@ Stat &Stat::operator=(const Stat &other)
        mtime = other.mtime;
        owner_info = other.owner_info;
        delete priv;
-       priv = (other.priv ? new Private(*other.priv) : 0);
+       priv = (other.priv ? new Private(*other.priv) : nullptr);
 
        return *this;
 }