diff --git a/FileLoader.h b/FileLoader.h index f461832..bb62af8 100644 --- a/FileLoader.h +++ b/FileLoader.h @@ -13,11 +13,10 @@ class FileLoader public: std::string fullPath; std::string shortPath; + Path() { } Path(const std::string & full_path, const std::string & short_path) - : fullPath(full_path), shortPath(short_path) - { - } + : fullPath(full_path), shortPath(short_path) { } }; class Buffer @@ -32,23 +31,22 @@ class FileLoader _refcnt = new int; *_refcnt = 1; } - Buffer(const Buffer & other) + void copy(const Buffer & other) { data = other.data; _refcnt = other._refcnt; - (*refcnt)++; + (*_refcnt)++; } - Buffer & operator=(Buffer & me, const Buffer & other) + Buffer(const Buffer & other) { copy(other); } + Buffer & operator=(const Buffer & other) { - me.data = other.data; - me._refcnt = other._refcnt; - (*me_.refcnt)++; - return me; + copy(other); + return *this; } ~Buffer() { (*_refcnt)--; - if (*refcnt < 1) + if (*_refcnt < 1) { delete _refcnt; delete data;