1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-19 23:22:16 +03:00

Netdump printf fix (#8215)

* Fix crash printf long getTime()

* Update several printf to printf_P
This commit is contained in:
hreintke 2021-07-17 20:50:15 +02:00 committed by GitHub
parent 25a21c3e7d
commit 09c4e33106
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 8 deletions

View File

@ -68,7 +68,7 @@ void Netdump::reset()
void Netdump::printDump(Print& out, Packet::PacketDetail ndd, const Filter nf) void Netdump::printDump(Print& out, Packet::PacketDetail ndd, const Filter nf)
{ {
out.printf("netDump starting\r\n"); out.printf_P(PSTR("netDump starting\r\n"));
setCallback([&out, ndd, this](const Packet & ndp) setCallback([&out, ndd, this](const Packet & ndp)
{ {
printDumpProcess(out, ndd, ndp); printDumpProcess(out, ndd, ndp);
@ -140,7 +140,7 @@ void Netdump::writePcapHeader(Stream& s) const
void Netdump::printDumpProcess(Print& out, Packet::PacketDetail ndd, const Packet& np) const void Netdump::printDumpProcess(Print& out, Packet::PacketDetail ndd, const Packet& np) const
{ {
out.printf_P(PSTR("%8d %s"), np.getTime(), np.toString(ndd).c_str()); out.printf_P(PSTR("%8lld %s"), np.getTime(), np.toString(ndd).c_str());
} }
void Netdump::fileDumpProcess(File& outfile, const Packet& np) const void Netdump::fileDumpProcess(File& outfile, const Packet& np) const

View File

@ -251,7 +251,7 @@ size_t NetdumpIP::printTo(Print& p)
uint16_t bit = PP_NTOHS(reinterpret_cast<const uint16_t*>(rawip)[i]); uint16_t bit = PP_NTOHS(reinterpret_cast<const uint16_t*>(rawip)[i]);
if (bit || count0 < 0) if (bit || count0 < 0)
{ {
n += p.printf("%x", bit); n += p.printf_P(PSTR("%x"), bit);
if (count0 > 0) if (count0 > 0)
// no more hiding 0 // no more hiding 0
{ {

View File

@ -42,21 +42,21 @@ void Packet::printDetail(Print& out, const String& indent, const char* data, siz
{ {
end = size; end = size;
} }
out.printf("%s", indent.c_str()); out.printf_P(PSTR("%s"), indent.c_str());
if (pd != PacketDetail::CHAR) if (pd != PacketDetail::CHAR)
{ {
for (size_t i = start; i < end; i++) for (size_t i = start; i < end; i++)
{ {
out.printf("%02x ", (unsigned char)data[i]); out.printf_P(PSTR("%02x "), (unsigned char)data[i]);
} }
for (size_t i = end; i < start + charCount; i++) for (size_t i = end; i < start + charCount; i++)
{ {
out.print(" "); out.printf_P(PSTR(" "));
} }
} }
for (size_t i = start; i < end; i++) for (size_t i = start; i < end; i++)
{ {
out.printf("%c", data[i] >= 32 && data[i] < 128 ? data[i] : '.'); out.printf_P(PSTR("%c"), data[i] >= 32 && data[i] < 128 ? data[i] : '.');
} }
out.println(); out.println();
@ -253,7 +253,7 @@ void Packet::ICMPtoString(PacketDetail, StreamString& sstr) const
default: sstr.printf_P(PSTR("type(0x%02x)"), getIcmpType()); break; default: sstr.printf_P(PSTR("type(0x%02x)"), getIcmpType()); break;
} }
} }
sstr.printf("\r\n"); sstr.printf_P(PSTR("\r\n"));
} }
void Packet::IGMPtoString(PacketDetail, StreamString& sstr) const void Packet::IGMPtoString(PacketDetail, StreamString& sstr) const