1 struct data {
2     int prio;
3     signed char status;
4 };
5 
6 struct base {
7     unsigned _num;
8     struct data vec[10];
9 };
10 
ix(struct base * base,unsigned i)11 static struct data *ix(struct base *base, unsigned i)
12 {
13     return &base->vec[i];
14 }
15 
16 struct heap {
17     struct base base;
18 };
19 
20 struct heap *heap;
21 
increase_insn_priority(int * fld,int amount)22 void increase_insn_priority (int *fld, int amount)
23 {
24     if (ix(heap ? &heap->base : 0, *fld)->status > 0)
25 	ix(heap ? &heap->base : 0, *fld)->prio += amount;
26 }
27