@@ -1393,27 +1393,30 @@ static bool cbModCallFind(Capstone* disasm, BASIC_INSTRUCTION_INFO* basicinfo, R
1393
1393
}
1394
1394
bool found = false ;
1395
1395
char label[MAX_LABEL_SIZE] = " " ;
1396
+ char module [MAX_MODULE_SIZE] = " " ;
1396
1397
if (basicinfo->call ) // we are looking for calls
1397
1398
{
1398
1399
duint ptr = basicinfo->addr > 0 ? basicinfo->addr : basicinfo->memory .value ;
1399
- found = DbgGetLabelAt (ptr, SEG_DEFAULT, label) && !LabelGet (ptr, label); // a non-user label
1400
+ found = DbgGetLabelAt (ptr, SEG_DEFAULT, label) && !LabelGet (ptr, label) && DbgGetModuleAt (ptr, module ) ; // a non-user label
1400
1401
}
1401
1402
if (found)
1402
1403
{
1403
1404
char addrText[20 ] = " " ;
1405
+ char moduleTargetText[256 ] = " " ;
1404
1406
sprintf (addrText, " %p" , disasm->Address ());
1407
+ sprintf (moduleTargetText, " %s.%s" , module , label);
1405
1408
GuiReferenceSetRowCount (refinfo->refcount + 1 );
1406
1409
GuiReferenceSetCellContent (refinfo->refcount , 0 , addrText);
1407
1410
char disassembly[GUI_MAX_DISASSEMBLY_SIZE] = " " ;
1408
1411
if (GuiGetDisassembly ((duint)disasm->Address (), disassembly))
1409
1412
{
1410
1413
GuiReferenceSetCellContent (refinfo->refcount , 1 , disassembly);
1411
- GuiReferenceSetCellContent (refinfo->refcount , 2 , label );
1414
+ GuiReferenceSetCellContent (refinfo->refcount , 2 , moduleTargetText );
1412
1415
}
1413
1416
else
1414
1417
{
1415
1418
GuiReferenceSetCellContent (refinfo->refcount , 1 , disasm->InstructionText ().c_str ());
1416
- GuiReferenceSetCellContent (refinfo->refcount , 2 , label );
1419
+ GuiReferenceSetCellContent (refinfo->refcount , 2 , moduleTargetText );
1417
1420
}
1418
1421
}
1419
1422
return found;
0 commit comments