| 25 | } |
| 26 | |
| 27 | xPar* xParAlloc() |
| 28 | { |
| 29 | xPar* dead = gParDead; |
| 30 | if (gParDead == NULL) |
| 31 | { |
| 32 | return NULL; |
| 33 | } |
| 34 | if (gParDead->m_next != NULL) |
| 35 | { |
| 36 | gParDead->m_next->m_prev = NULL; |
| 37 | } |
| 38 | xPar** next = &dead->m_next; |
| 39 | gParDead = *next; |
| 40 | *next = NULL; |
| 41 | dead->m_prev = NULL; |
| 42 | return dead; |
| 43 | } |
| 44 | |
| 45 | void xParFree(xPar* par) |
| 46 | { |