Skip to content

Commit 42ffafc

Browse files
Merge pull request #90 from wcampbell0x2a/fix-ci
2 parents 9ec67ec + 59e18b8 commit 42ffafc

File tree

3 files changed

+23
-15
lines changed

3 files changed

+23
-15
lines changed

images/screenshot.png

-494 Bytes
Loading

src/snapshots/heretek__tests__render_app.snap

+7-7
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ snapshot_kind: text
66
"─────────────────────────────────────────────────────────────────────|heretek-v0.1.0-rc12|──────────────────────────────────────────────────────────────────────"
77
" Press q to exit, i to enter input | F1 main | F2 registers | F3 stack | F4 instructions | F5 output | F6 mapping | F7 hexdump | Heap | Stack | Code "
88
"Registers───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────"
9-
" rax ➛ 0x401825 ➛ main "
10-
" rbx ➛ 0x1 "
11-
" rcx ➛ <rcx_0> ➛ 0x04 "
12-
" rdx ➛ <rdx_0> ➛ <rdx_1> ➛ "<rdx_2>" "
13-
" rsi ➛ <rsi_0> ➛ <rsi_1> ➛ "<rsi_2>" "
14-
" rdi ➛ 0x1 "
15-
" rbp ➛ <rbp_0> ➛ <rbp_1> ➛ <rbp_2> ➛ 0x00 "
9+
" rax ➛ 0x401825 ➛ main "
10+
" rbx ➛ 0x1 "
11+
" rcx ➛ <rcx_0> ➛ 0x04 "
12+
" rdx ➛ <rdx_0> ➛ <rdx_1> ➛ "<rdx_2>" "
13+
" rsi ➛ <rsi_0> ➛ <rsi_1> ➛ "<rsi_2>" "
14+
" rdi ➛ 0x1 "
15+
" rbp ➛ <rbp_0> ➛ <rbp_1> ➛ <rbp_2> ➛ 0x00 "
1616
"Stack───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────"
1717
" <stack_0> ➛ <stack_6> ➛ <stack_6_0> ➛ <stack_6_1> ➛ <rbp_1> ➛ <rbp_2> ➛ 0x00 "
1818
" <stack_1> ➛ 0x40f022 ➛ malloc "

src/ui/registers.rs

+16-8
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use std::sync::atomic::Ordering;
33

44
use super::{add_deref_to_span, apply_val_color, ORANGE, PURPLE, RED};
55

6+
use log::debug;
67
use ratatui::prelude::Stylize;
78
use ratatui::text::{Line, Span, Text};
89
use ratatui::widgets::{Block, Borders, Paragraph};
@@ -29,9 +30,18 @@ pub fn draw_registers(app: &App, f: &mut Frame, register: Rect) {
2930
// TODO: cache this
3031
let reg_changed_lock = app.register_changed.lock().unwrap();
3132
let filepath_lock = app.filepath.lock().unwrap();
32-
for RegisterStorage { name, register: _, deref: _ } in regs.iter() {
33-
if longest_register_name < name.len() {
34-
longest_register_name = name.len();
33+
for RegisterStorage { name, register, deref: _ } in regs.iter() {
34+
if let Some(reg) = register {
35+
if !reg.is_set() {
36+
continue;
37+
}
38+
if let Some(reg_value) = &reg.value {
39+
if let Ok(_) = u64::from_str_radix(&reg_value[2..], 16) {
40+
if longest_register_name < name.len() {
41+
longest_register_name = name.len();
42+
}
43+
}
44+
}
3545
}
3646
}
3747
let width: usize = if app.thirty_two_bit.load(Ordering::Relaxed) { 11 } else { 19 };
@@ -47,11 +57,9 @@ pub fn draw_registers(app: &App, f: &mut Frame, register: Rect) {
4757
if let Some(reg_value) = &reg.value {
4858
if let Ok(val) = u64::from_str_radix(&reg_value[2..], 16) {
4959
let changed = reg_changed_lock.contains(&(i as u8));
50-
let mut reg_name = Span::from(format!(
51-
" {name:width$}",
52-
width = longest_register_name - 2
53-
))
54-
.style(Style::new().fg(PURPLE));
60+
let mut reg_name =
61+
Span::from(format!(" {name:width$}", width = longest_register_name))
62+
.style(Style::new().fg(PURPLE));
5563
let (is_stack, is_heap, is_text) = app.classify_val(val, &filepath);
5664

5765
let mut extra_derefs = Vec::new();

0 commit comments

Comments
 (0)