Nearly at 20 trampolines left.

This commit is contained in:
Cas Cremers 2018-10-19 16:01:44 -04:00
parent 9da05f738c
commit 38d57ed91d

View File

@ -1189,28 +1189,31 @@ iterateRoles (const System sys, int (*callback) (Protocol p, Role r))
}
//! Get first recv/send occurrence (event index) of term t in run r
/**
* ..or -1 if it does not occor
*/
int
firstOccurrence (const System sys, const int r, Term t, int evtype)
{
int firste;
int e;
Roledef rd;
int checkOccurs (Roledef rd, int e)
rd = sys->runs[r].start;
for (e = 0; e < sys->runs[r].step; e++)
{
if (evtype == ANYEVENT || rd->type == evtype)
{
if (termSubTerm (rd->message, t) || termSubTerm (rd->from, t)
|| termSubTerm (rd->to, t))
{
firste = e;
return false;
return e;
}
return true;
}
rd = rd->next;
}
firste = -1;
iterateEventsType (sys, r, evtype, checkOccurs);
#ifdef DEBUG
if (DEBUGL (3))
{
if (firste == -1)
{
globalError++;
eprintf ("Warning: Desired term ");
@ -1221,9 +1224,8 @@ firstOccurrence (const System sys, const int r, Term t, int evtype)
eprintf ("\n");
globalError--;
}
}
#endif
return firste;
return -1;
}
//! Get the roledef of an event