Find the first definition matching label+name (either may be NULL = wildcard). */
| 19 | |
| 20 | /* Find the first definition matching label+name (either may be NULL = wildcard). */ |
| 21 | static CBMDefinition *find_def(CBMFileResult *r, const char *label, const char *name) { |
| 22 | for (int i = 0; i < r->defs.count; i++) { |
| 23 | CBMDefinition *d = &r->defs.items[i]; |
| 24 | if (label && (!d->label || strcmp(d->label, label) != 0)) |
| 25 | continue; |
| 26 | if (name && (!d->name || strcmp(d->name, name) != 0)) |
| 27 | continue; |
| 28 | return d; |
| 29 | } |
| 30 | return NULL; |
| 31 | } |
| 32 | |
| 33 | /* ─────────────────────────────────────────────────────────────────── |
| 34 | * #554 — C++ out-of-line method definitions: the CALLS edge source falls |