diff options
author | XANTRONIX Development | 2022-03-13 21:01:15 -0400 |
---|---|---|
committer | XANTRONIX Development | 2022-03-13 21:01:15 -0400 |
commit | 9d0e543821fc0aeb4cde552f110edbb71153c9f2 (patch) | |
tree | 915408d2e1c9c465c3d48fdb357fc487cb35276a /src | |
parent | 80e7e6e258d86f165969b5a366917b72910b8282 (diff) | |
download | xas-9d0e543821fc0aeb4cde552f110edbb71153c9f2.tar.gz xas-9d0e543821fc0aeb4cde552f110edbb71153c9f2.tar.bz2 xas-9d0e543821fc0aeb4cde552f110edbb71153c9f2.zip |
Handle EVENT_SET_BANK_INDEX before EVENT_ON
Diffstat (limited to 'src')
-rw-r--r-- | src/seq.c | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -65,6 +65,18 @@ static xas_seq_event *event_tail(xas_seq_event *head) { return head; } +static inline int event_lt(xas_seq_event *a, xas_seq_event *b) { + if (timercmp(&a->timestamp, &b->timestamp, <)) { + return 1; + } else if (!timercmp(&a->timestamp, &b->timestamp, !=)) { + if (a->type < b->type) { + return 1; + } + } + + return 0; +} + static xas_seq_event *event_list_partition(xas_seq_event *head, xas_seq_event *end, xas_seq_event **head_new, @@ -75,7 +87,7 @@ static xas_seq_event *event_list_partition(xas_seq_event *head, *tail = pivot; while (cur != pivot) { - if (timercmp(&cur->timestamp, &pivot->timestamp, <)) { + if (event_lt(cur, pivot)) { if (*head_new == NULL) { *head_new = cur; } |