mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-02-02 06:54:15 +00:00
fixed mapping
This commit is contained in:
parent
4d2b535b04
commit
d8f24b442b
31
I2CP.cpp
31
I2CP.cpp
@ -276,21 +276,24 @@ namespace client
|
|||||||
size_t offset = 0;
|
size_t offset = 0;
|
||||||
while (offset < len)
|
while (offset < len)
|
||||||
{
|
{
|
||||||
auto semicolon = (const uint8_t *)memchr (buf + offset, ';', len - offset);
|
std::string param = ExtractString (buf + offset, len - offset);
|
||||||
if (semicolon)
|
offset += param.length ();
|
||||||
|
if (buf[offset] != '=')
|
||||||
{
|
{
|
||||||
auto l = semicolon - buf - offset + 1;
|
LogPrint (eLogWarning, "I2CP: Unexpected character ", buf[offset], " instead '=' after ", param);
|
||||||
auto equal = (const uint8_t *)memchr (buf + offset, '=', l);
|
break;
|
||||||
if (equal)
|
}
|
||||||
{
|
offset++;
|
||||||
auto l1 = equal - buf - offset + 1;
|
|
||||||
mapping.insert (std::make_pair (std::string ((const char *)(buf + offset), l1 -1),
|
std::string value = ExtractString (buf + offset, len - offset);
|
||||||
std::string ((const char *)(buf + offset + l1), l - l1 - 2)));
|
offset += value.length ();
|
||||||
}
|
if (buf[offset] != ';')
|
||||||
offset += l;
|
{
|
||||||
}
|
LogPrint (eLogWarning, "I2CP: Unexpected character ", buf[offset], " instead ';' after ", value);
|
||||||
else
|
break;
|
||||||
break;
|
}
|
||||||
|
offset++;
|
||||||
|
mapping.insert (std::make_pair (param, value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user