Skip to content

Commit

Permalink
Merge pull request #2452 from barton2526/memset
Browse files Browse the repository at this point in the history
refactor: Replace memset calls with array initialization
  • Loading branch information
jamescowens authored Mar 6, 2022
2 parents b49b102 + d42dc89 commit 8d32af5
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 14 deletions.
11 changes: 1 addition & 10 deletions src/protocol.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,25 +21,16 @@ static const char* ppszTypeName[] =
"scraperindex",
};

CMessageHeader::CMessageHeader()
{
memcpy(pchMessageStart, Params().MessageStart(), CMessageHeader::MESSAGE_START_SIZE);
memset(pchCommand, 0, sizeof(pchCommand));
memset(pchChecksum, 0, CHECKSUM_SIZE);
}

CMessageHeader::CMessageHeader(const char* pszCommand, unsigned int nMessageSizeIn)
{
memcpy(pchMessageStart, Params().MessageStart(), CMessageHeader::MESSAGE_START_SIZE);

// Copy the command name, zero-padding to COMMAND_SIZE bytes
// Copy the command name
size_t i = 0;
for (; i < COMMAND_SIZE && pszCommand[i] != 0; ++i) pchCommand[i] = pszCommand[i];
assert(pszCommand[i] == 0); // Assert that the command name passed in is not longer than COMMAND_SIZE
for (; i < COMMAND_SIZE; ++i) pchCommand[i] = 0;

nMessageSize = nMessageSizeIn;
memset(pchChecksum, 0, CHECKSUM_SIZE);
}

std::string CMessageHeader::GetCommand() const
Expand Down
8 changes: 4 additions & 4 deletions src/protocol.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,18 +43,18 @@ class CMessageHeader
static constexpr size_t HEADER_SIZE = MESSAGE_START_SIZE + COMMAND_SIZE + MESSAGE_SIZE_SIZE + CHECKSUM_SIZE;
typedef unsigned char MessageStartChars[MESSAGE_START_SIZE];

CMessageHeader();
CMessageHeader() = default;
CMessageHeader(const char* pszCommand, unsigned int nMessageSizeIn);

std::string GetCommand() const;
bool IsValid() const;

SERIALIZE_METHODS(CMessageHeader, obj) { READWRITE(obj.pchMessageStart, obj.pchCommand, obj.nMessageSize, obj.pchChecksum); }

char pchMessageStart[MESSAGE_START_SIZE];
char pchCommand[COMMAND_SIZE];
char pchMessageStart[MESSAGE_START_SIZE]{};
char pchCommand[COMMAND_SIZE]{};
uint32_t nMessageSize{std::numeric_limits<uint32_t>::max()};
uint8_t pchChecksum[CHECKSUM_SIZE];
uint8_t pchChecksum[CHECKSUM_SIZE]{};
};

/** nServices flags */
Expand Down

0 comments on commit 8d32af5

Please sign in to comment.