Semver fixes, misc fixes
This commit is contained in:
@@ -43,11 +43,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
static const Semver zero()
|
||||
{
|
||||
static semver_t ver = { 0, 0, 0, nullptr, nullptr };
|
||||
return Semver(ver);
|
||||
}
|
||||
static const Semver zero() { return Semver(semver_zero()); }
|
||||
|
||||
static const Semver inf()
|
||||
{
|
||||
@@ -61,37 +57,21 @@ public:
|
||||
return Semver(ver);
|
||||
}
|
||||
|
||||
Semver(Semver &&other) : ver(other.ver)
|
||||
{
|
||||
other.ver.major = other.ver.minor = other.ver.patch = 0;
|
||||
other.ver.metadata = other.ver.prerelease = nullptr;
|
||||
}
|
||||
|
||||
Semver(const Semver &other) : ver(other.ver)
|
||||
{
|
||||
if (other.ver.metadata != nullptr)
|
||||
ver.metadata = strdup(other.ver.metadata);
|
||||
if (other.ver.prerelease != nullptr)
|
||||
ver.prerelease = strdup(other.ver.prerelease);
|
||||
}
|
||||
Semver(Semver &&other) : ver(other.ver) { other.ver = semver_zero(); }
|
||||
Semver(const Semver &other) : ver(::semver_copy(&other.ver)) {}
|
||||
|
||||
Semver &operator=(Semver &&other)
|
||||
{
|
||||
::semver_free(&ver);
|
||||
ver = other.ver;
|
||||
other.ver.major = other.ver.minor = other.ver.patch = 0;
|
||||
other.ver.metadata = other.ver.prerelease = nullptr;
|
||||
other.ver = semver_zero();
|
||||
return *this;
|
||||
}
|
||||
|
||||
Semver &operator=(const Semver &other)
|
||||
{
|
||||
::semver_free(&ver);
|
||||
ver = other.ver;
|
||||
if (other.ver.metadata != nullptr)
|
||||
ver.metadata = strdup(other.ver.metadata);
|
||||
if (other.ver.prerelease != nullptr)
|
||||
ver.prerelease = strdup(other.ver.prerelease);
|
||||
ver = ::semver_copy(&other.ver);
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user