From dfb89f3891ec73b4d5a6f46092ad825dabec6bb7 Mon Sep 17 00:00:00 2001 From: rubidium42 Date: Sun, 30 May 2021 12:41:45 +0200 Subject: [PATCH] Codechange: [ContentInfo] Do not use memset/memcpy to make it possible to use vector/string --- src/network/core/tcp_content.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/network/core/tcp_content.cpp b/src/network/core/tcp_content.cpp index abeb3d9255..ddea9fd5ea 100644 --- a/src/network/core/tcp_content.cpp +++ b/src/network/core/tcp_content.cpp @@ -22,8 +22,11 @@ /** Clear everything in the struct */ ContentInfo::ContentInfo() + : /* Temporary... will be removed later in the PR. */ + type((ContentType)0), id((ContentID)0), filesize(0), filename(""), name(""), version(""), + url(""), description(""), unique_id(0), md5sum(""), dependency_count(0), dependencies(nullptr), + tag_count(0), tags(nullptr), state((State)0), upgrade(false) { - memset(this, 0, sizeof(*this)); } /** Free everything allocated */ @@ -42,7 +45,7 @@ void ContentInfo::TransferFrom(ContentInfo *other) if (other != this) { free(this->dependencies); free(this->tags); - memcpy(this, other, sizeof(ContentInfo)); + *this = *other; other->dependencies = nullptr; other->tags = nullptr; }