mirror of
https://github.com/radareorg/radare2.git
synced 2025-02-06 13:37:07 +00:00
30 lines
669 B
C
30 lines
669 B
C
/* radare - LGPL - Copyright 2009-2015 - nibble, montekki, pancake */
|
|
|
|
#include <r_types.h>
|
|
#include <r_bin.h>
|
|
|
|
// TODO: use proper dwarf api here.. or deprecate
|
|
static int get_line(RBinFile *arch, ut64 addr, char *file, int len, int *line) {
|
|
if (arch->sdb_addrinfo) {
|
|
char offset[64];
|
|
char *offset_ptr = sdb_itoa (addr, offset, 16);
|
|
char *ret = sdb_get (arch->sdb_addrinfo, offset_ptr, 0);
|
|
if (ret) {
|
|
char *p = strchr (ret, '|');
|
|
if (p) {
|
|
*p = '\0';
|
|
strncpy (file, ret, len);
|
|
*line = atoi (p + 1);
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
#if !R_BIN_ELF64
|
|
struct r_bin_dbginfo_t r_bin_dbginfo_elf = {
|
|
.get_line = &get_line,
|
|
};
|
|
#endif
|