void QWSHexDump::hexDump() { *outstrm << '(' << dataSize << " bytes):\n" << prefix; sprintf(sideviewLayout, " [%%-%us]", wrap); dataWidth = (2 * wrap) + (wrap / clustering); dirty = false; uint wrapIndex = 0; for (uint i = 0; i < dataSize; i++) { uint c = static_cast<uchar>(data[i]); sideview[wrapIndex = i%wrap] = isprint(c) ? c : '.'; if (wrapIndex && (wrapIndex % clustering == 0)) *outstrm << ' '; outstrm->setFieldWidth(2); outstrm->setPadChar('0'); outstrm->setNumberFlags( QTextStream::ShowBase ); *outstrm << hex << c; dirty = true; if (wrapIndex == wrap-1) { sideviewDump(wrapIndex); wrapIndex = 0; if (i+1 < dataSize) *outstrm << endl << prefix; } } sideviewDump(wrapIndex); }