MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / WriteDNS_String

Method WriteDNS_String

pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Classes.cpp:60–87  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

58 *offset += 1;
59 }
60 void DNS_QuestionEntry::WriteDNS_String(u8* buffer, int* offset, const std::string& value) const
61 {
62 int segmentLength = 0;
63 int segmentStart = 0;
64 for (size_t i = 0; i < value.size(); i++)
65 {
66 if (value[i] == '.')
67 {
68 if (segmentLength == 0)
69 continue;
70
71 NetLib::WriteByte08(buffer, offset, segmentLength);
72 NetLib::WriteByteArray(buffer, offset, segmentLength, (u8*)&value.c_str()[segmentStart]);
73 segmentLength = 0;
74 segmentStart = i + 1;
75 }
76 else
77 segmentLength++;
78 continue;
79 }
80 if (segmentLength != 0)
81 {
82 NetLib::WriteByte08(buffer, offset, segmentLength);
83 NetLib::WriteByteArray(buffer, offset, segmentLength, (u8*)&value.c_str()[segmentStart]);
84 }
85 //null char
86 NetLib::WriteByte08(buffer, offset, 0);
87 }
88
89 int DNS_QuestionEntry::GetLength() const
90 {

Callers

nothing calls this directly

Calls 4

WriteByte08Function · 0.85
WriteByteArrayFunction · 0.85
sizeMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected