Rev 8 | Rev 14 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 8 | Rev 11 | ||
|---|---|---|---|
| Line 58... | Line 58... | ||
| 58 | return dethrace_dl_data.start; |
58 | return dethrace_dl_data.start; |
| 59 | } |
59 | } |
| 60 | 60 | ||
| 61 | // Resolve symbol name and source location given the path to the executable and an address |
61 | // Resolve symbol name and source location given the path to the executable and an address |
| 62 | int addr2line(char const* const program_name, void const* const addr) { |
62 | int addr2line(char const* const program_name, void const* const addr) { |
| 63 | char addr2line_cmd[512] |
63 | char addr2line_cmd[512]; |
| 64 | 64 | ||
| 65 | /* have addr2line map the address to the related line in the code */ |
65 | /* have addr2line map the address to the related line in the code */ |
| 66 | sprintf(addr2line_cmd, "addr2line -f -p -e \"%s\" %p", program_name, addr - get_dethrace_offset()); // Pierre-Marie Baty -- support pathnames containing spaces |
66 | sprintf(addr2line_cmd, "addr2line -f -p -e \"%s\" %p", program_name, addr - get_dethrace_offset()); // Pierre-Marie Baty -- support pathnames containing spaces |
| 67 | 67 | ||
| 68 | fprintf(stderr, "%d: ", stack_nbr++); |
68 | fprintf(stderr, "%d: ", stack_nbr++); |
| Line 259... | Line 259... | ||
| 259 | f = fopen(pDirName, mode); |
259 | f = fopen(pDirName, mode); |
| 260 | break; |
260 | break; |
| 261 | } |
261 | } |
| 262 | } |
262 | } |
| 263 | closedir(pDir); |
263 | closedir(pDir); |
| - | 264 | if (f == NULL) { |
|
| - | 265 | fprintf(stderr, "Failed to open \"%s\" (%s)\n", pathname, strerror(errno)); |
|
| - | 266 | } |
|
| 264 | return f; |
267 | return f; |
| 265 | } |
268 | } |
| 266 | 269 | ||
| 267 | size_t OS_ConsoleReadPassword(char* pBuffer, size_t pBufferLen) { |
270 | size_t OS_ConsoleReadPassword(char* pBuffer, size_t pBufferLen) { |
| 268 | struct termios old, new; |
271 | struct termios old, new; |