Skip to content

Commit 0e2673a

Browse files
committed
libbacktrace output: use 2 digits for frame number
We have allocated as most as for 256 frames but most likely the backtrace will have lass than 100 items. And 2 digit output better alignes with the output if some item has multiple lines, it is offset 2 spaces that will align with comma after the number, which looks better.
1 parent f571fb6 commit 0e2673a

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

src/host.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1336,18 +1336,17 @@ print_stacktrace_glibc()
13361336
char backtrace2_msg[] = "\nBacktrace symbolic:\n";
13371337
write_all(fd, sizeof backtrace2_msg - 1, backtrace2_msg);
13381338
for (int i = 0; i < num_symbols; i++) {
1339-
char sym_nr[5];
1339+
enum { NDIGITS = 2 };
1340+
char sym_nr[] = { 'X', 'X', ':', ' ' };
13401341
int num_tmp = i;
1341-
for (int i = 0; i < 3; ++i) {
1342+
for (int i = 0; i < NDIGITS; ++i) {
13421343
if (num_tmp == 0 && i != 0) {
1343-
sym_nr[2 - i] = ' ';
1344+
sym_nr[NDIGITS - 1 - i] = ' ';
13441345
} else {
1345-
sym_nr[2 - i] = '0' + (num_tmp % 10);
1346+
sym_nr[NDIGITS - 1 - i] = '0' + (num_tmp % 10);
13461347
num_tmp /= 10;
13471348
}
13481349
}
1349-
sym_nr[3] = ':';
1350-
sym_nr[4] = ' ';
13511350
write_all(fd, sizeof sym_nr, sym_nr);
13521351
// printf("%3d: ", i);
13531352
backtrace_pcinfo(bt, (uintptr_t) addresses[i], libbt_full_callback,

0 commit comments

Comments
 (0)