5 eref_ERP eref_Pool; /* private */
6 static bool needsInit = TRUE; /* private */
12 for (i=0; (eref_Pool.status[i] == used) && (i < eref_Pool.size); i++);
16 if (res == eref_Pool.size)
19 (employee *) realloc (eref_Pool.conts,
20 2 * eref_Pool.size * sizeof (employee));
22 if (eref_Pool.conts == 0)
24 printf ("Malloc returned null in eref_alloc\n");
29 (eref_status *) realloc (eref_Pool.status,
30 2 * eref_Pool.size * sizeof (eref_status));
32 if (eref_Pool.status == 0)
34 printf ("Malloc returned null in eref_alloc\n");
38 eref_Pool.size = 2*eref_Pool.size;
40 for (i = res+1; i < eref_Pool.size; i++)
41 eref_Pool.status[i] = avail;
44 eref_Pool.status[res] = used;
48 void eref_initMod (void)
53 if (needsInit == false) /* will produce a warning if FALSE is used instead */
62 eref_Pool.conts = (employee *) malloc (size * sizeof (employee));
64 if (eref_Pool.conts == 0)
66 printf ("Malloc returned null in eref_initMod\n");
70 eref_Pool.status = (eref_status *) malloc (size * sizeof (eref_status));
72 if (eref_Pool.status == 0)
74 printf ("Malloc returned null in eref_initMod\n");
78 eref_Pool.size = size;
80 for (i = 0; i < size; i++)
82 eref_Pool.status[i] = avail;