| 77 | } |
| 78 | |
| 79 | static int count_resolved(const CBMFileResult *r, const char *callerSub, const char *calleeSub) { |
| 80 | int n = 0; |
| 81 | for (int i = 0; i < r->resolved_calls.count; i++) { |
| 82 | const CBMResolvedCall *rc = &r->resolved_calls.items[i]; |
| 83 | if (rc->caller_qn && strstr(rc->caller_qn, callerSub) && rc->callee_qn && |
| 84 | strstr(rc->callee_qn, calleeSub)) { |
| 85 | n++; |
| 86 | } |
| 87 | } |
| 88 | return n; |
| 89 | } |
| 90 | |
| 91 | static int count_exact_resolved_site(const CBMFileResult *r, const char *callerSub, |
| 92 | const char *calleeSub, uint32_t start, uint32_t end) { |