#include "core.h"
#include "demangle.h"
-static void add_to_result ( Char* result, Char* s, Int result_size )
-{
- VG_(strncpy)(result, s, result_size);
- result[result_size-1] = 0; // just in case no NUL was copied
-}
-
void VG_(demangle) ( Char* orig, Char* result, Int result_size )
{
Char* demangled = NULL;
demangled = VG_(cplus_demangle) ( orig, DMGL_ANSI | DMGL_PARAMS );
if (demangled) {
- add_to_result(result, demangled, result_size);
+ VG_(strncpy_safely)(result, demangled, result_size);
VG_(arena_free) (VG_AR_DEMANGLE, demangled);
} else {
- add_to_result(result, orig, result_size);
+ VG_(strncpy_safely)(result, orig, result_size);
}
// 13 Mar 2005: We used to check here that the demangler wasn't leaking
Int i;
vg_assert(ndest > 0);
i = 0;
- dest[i] = 0;
while (True) {
+ dest[i] = 0;
if (src[i] == 0) return;
if (i >= ndest-1) return;
dest[i] = src[i];
i++;
- dest[i] = 0;
}
}
if (demangle) {
VG_(demangle) ( si->symtab[sno].name, buf, nbuf );
} else {
- VG_(strncpy_safely)
- ( buf, si->symtab[sno].name, nbuf );
+ VG_(strncpy_safely) ( buf, si->symtab[sno].name, nbuf );
}
offset = a - si->symtab[sno].addr;
search_all_loctabs ( a, &si, &locno );
if (si == NULL)
return False;
- VG_(strncpy_safely)(filename, si->loctab[locno].filename,
- n_filename);
+ VG_(strncpy_safely)(filename, si->loctab[locno].filename, n_filename);
return True;
}
search_all_loctabs ( a, &si, &locno );
if (si == NULL)
return False;
- VG_(strncpy_safely)(filename, si->loctab[locno].filename,
- n_filename);
+ VG_(strncpy_safely)(filename, si->loctab[locno].filename, n_filename);
*lineno = si->loctab[locno].lineno;
return True;
Char name2[64] = "";
name1[0] = name2[0] = 0;
ok = VG_(get_fnname_w_offset)(orig_addr, name1, 64);
- if (ok) {
- name1[63] = 0;
- } else {
- VG_(strcpy)(name1, "???");
- }
+ if (!ok) VG_(strcpy)(name1, "???");
ok = VG_(get_fnname_w_offset)(redir, name2, 64);
- if (ok) {
- name2[63] = 0;
- } else {
- VG_(strcpy)(name2, "???");
- }
+ if (!ok) VG_(strcpy)(name2, "???");
VG_(message)(Vg_DebugMsg,
"TRANSLATE: 0x%llx (%s) redirected to 0x%llx (%s)",
orig_addr, name1,