Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit afdd8d4a authored by chrisweir's avatar chrisweir
Browse files

Fix netlink message printer byte counts

Don't print extra byte numbering for arrays with a size that is a
multiple of 16.

Bug: 161938586
Test: Manual inspection of printer output
Change-Id: I4a7948439dd18b440a6abfae388306167433ebd6
parent cef964c1
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -65,14 +65,13 @@ static void toStream(std::stringstream& ss, const nlbuf<uint8_t> data) {
    const auto rawData = data.getRaw();
    const auto dataLen = rawData.len();
    ss << std::hex;
    if (dataLen > 16) ss << std::endl << " 0000 ";
    int i = 0;
    for (const auto byte : rawData) {
        if (i++ > 0) ss << ' ';
        ss << std::setw(2) << unsigned(byte);
        if (i % 16 == 0) {
        if (i % 16 == 0 && dataLen > 16) {
            ss << std::endl << ' ' << std::dec << std::setw(4) << i << std::hex;
        }
        if (i++ > 0 || dataLen > 16) ss << ' ';
        ss << std::setw(2) << unsigned(byte);
    }
    ss << std::dec;
    if (dataLen > 16) ss << std::endl;