1 #include "machinepile.h"
3 int insertPile(int mid, unsigned int oid, short numoffset, short *offset, prefetchpile_t **head) {
4 prefetchpile_t *tmp = *head;
6 unsigned int *oidarray;
11 if (tmp->mid == mid) { // Found a match with exsisting machine id
12 if ((objnode = (objpile_t *) calloc(1, sizeof(objpile_t))) == NULL) {
13 printf("Calloc error: %s %d\n", __FILE__, __LINE__);
16 /* Fill objpiles DS */
18 objnode->numoffset = numoffset;
19 objnode->offset = offset;
20 objnode->next = tmp->objpiles;
21 tmp->objpiles = objnode;
27 if (!found) {// Not found => insert new mid DS
28 if ((tmp = (prefetchpile_t *) calloc(1, sizeof(prefetchpile_t))) == NULL) {
29 printf("Calloc error: %s %d\n", __FILE__, __LINE__);
33 if ((objnode = (objpile_t *) calloc(1, sizeof(objpile_t))) == NULL) {
34 printf("Calloc error: %s %d\n", __FILE__, __LINE__);
37 /* Fill objpiles DS */
39 objnode->numoffset = numoffset;
40 objnode->offset = offset;
41 objnode->next = tmp->objpiles; // i.e., objnode->next = NULL;
42 tmp->objpiles = objnode;