aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2020-09-02 15:15:25 +0200
committerStig Bjørlykke <stig@bjorlykke.org>2020-09-03 20:49:01 +0000
commit07ad7843f6989f9a1c612626cefd07c5a9350f1f (patch)
treee8605933ff4466b90022b8c2944810bb53e11113 /ui
parentc09cb5c3431a0d1e1ef25a9ce46942a4547e2985 (diff)
Qt: Use UTF8 middle dot for non-printable characters
Use UTF8 middle dot for non-printable characters in ShowPacketBytes to clearly show the difference between a non-printable character and '.', and to align with the PacketBytes view.
Diffstat (limited to 'ui')
-rw-r--r--ui/qt/show_packet_bytes_dialog.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/ui/qt/show_packet_bytes_dialog.cpp b/ui/qt/show_packet_bytes_dialog.cpp
index ce800c6236..1ccb962728 100644
--- a/ui/qt/show_packet_bytes_dialog.cpp
+++ b/ui/qt/show_packet_bytes_dialog.cpp
@@ -450,7 +450,8 @@ void ShowPacketBytesDialog::sanitizeBuffer(QByteArray &ba, bool keep_CR)
if (ba[i] == '\0' || g_ascii_isspace(ba[i])) {
ba[i] = ' ';
} else if (!g_ascii_isprint(ba[i])) {
- ba[i] = '.';
+ ba.replace(i, 1, UTF8_MIDDLE_DOT);
+ i += sizeof(UTF8_MIDDLE_DOT) - 2;
}
}
}
@@ -459,7 +460,8 @@ void ShowPacketBytesDialog::symbolizeBuffer(QByteArray &ba)
{
for (int i = 0; i < ba.length(); i++) {
if ((ba[i] < '\0' || ba[i] >= ' ') && ba[i] != (char)0x7f && !g_ascii_isprint(ba[i])) {
- ba[i] = '.';
+ ba.replace(i, 1, UTF8_MIDDLE_DOT);
+ i += sizeof(UTF8_MIDDLE_DOT) - 2;
}
}
@@ -688,10 +690,12 @@ void ShowPacketBytesDialog::updatePacketBytes(void)
// Dump bytes as text
for (i = 0; i < 16 && pos + i < len; i++) {
- if (g_ascii_isprint(field_bytes_[pos + i]))
+ if (g_ascii_isprint(field_bytes_[pos + i])) {
*cur++ = field_bytes_[pos + i];
- else
- *cur++ = '.';
+ } else {
+ memcpy(cur, UTF8_MIDDLE_DOT, sizeof(UTF8_MIDDLE_DOT) - 1);
+ cur += sizeof(UTF8_MIDDLE_DOT) - 1;
+ }
if (i == 7)
*cur++ = ' ';
}