mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-08-18 15:41:56 -06:00
Fix various memory leaks
(cherry picked from commit prusa3d/PrusaSlicer@deb17c5920)
This commit is contained in:
parent
7907426d00
commit
499b9d1be8
7 changed files with 79 additions and 51 deletions
|
@ -110,10 +110,30 @@ public:
|
|||
void set_maj(int maj) { ver.major = maj; }
|
||||
void set_min(int min) { ver.minor = min; }
|
||||
void set_patch(int patch) { ver.patch = patch; }
|
||||
void set_metadata(boost::optional<const std::string&> meta) { ver.metadata = meta ? strdup(*meta) : nullptr; }
|
||||
void set_metadata(const char *meta) { ver.metadata = meta ? strdup(meta) : nullptr; }
|
||||
void set_prerelease(boost::optional<const std::string&> pre) { ver.prerelease = pre ? strdup(*pre) : nullptr; }
|
||||
void set_prerelease(const char *pre) { ver.prerelease = pre ? strdup(pre) : nullptr; }
|
||||
void set_metadata(boost::optional<const std::string &> meta)
|
||||
{
|
||||
if (ver.metadata)
|
||||
free(ver.metadata);
|
||||
ver.metadata = meta ? strdup(*meta) : nullptr;
|
||||
}
|
||||
void set_metadata(const char *meta)
|
||||
{
|
||||
if (ver.metadata)
|
||||
free(ver.metadata);
|
||||
ver.metadata = meta ? strdup(meta) : nullptr;
|
||||
}
|
||||
void set_prerelease(boost::optional<const std::string &> pre)
|
||||
{
|
||||
if (ver.prerelease)
|
||||
free(ver.prerelease);
|
||||
ver.prerelease = pre ? strdup(*pre) : nullptr;
|
||||
}
|
||||
void set_prerelease(const char *pre)
|
||||
{
|
||||
if (ver.prerelease)
|
||||
free(ver.prerelease);
|
||||
ver.prerelease = pre ? strdup(pre) : nullptr;
|
||||
}
|
||||
|
||||
// Comparison
|
||||
bool operator<(const Semver &b) const { return ::semver_compare(ver, b.ver) == -1; }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue