This commit was manufactured by cvs2svn to create tag 'buildscript'.
[IRC.git] /
1 #include "machinepile.h"
2
3 int insertPile(int mid, unsigned int oid, short numoffset, short *offset, prefetchpile_t *head) {
4         prefetchpile_t *tmp = head;
5         objpile_t *objnode;
6         unsigned int *oidarray;
7         int ntuples;
8         char found = 0;
9
10         while (tmp != NULL) {
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__);
14                                 return -1;
15                         }
16                         /* Fill objpiles DS */
17                         objnode->oid = oid;
18                         objnode->numoffset = numoffset;
19                         objnode->offset = offset;
20                         objnode->next = tmp->objpiles;
21                         tmp->objpiles = objnode;
22                         found = 1;
23                         break;
24                 }
25                 tmp = tmp->next;
26         }
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__);
30                         return -1;
31                 }
32                 tmp->mid = mid;
33                 if ((objnode = (objpile_t *) calloc(1, sizeof(objpile_t))) == NULL) {
34                         printf("Calloc error: %s %d\n", __FILE__, __LINE__);
35                         return -1;
36                 }
37                 /* Fill objpiles DS */
38                 objnode->oid = oid;
39                 objnode->numoffset = numoffset;
40                 objnode->offset = offset;
41                 objnode->next = tmp->objpiles; // i.e., objnode->next = NULL;
42                 tmp->objpiles = objnode;
43                 tmp->next = head;
44                 head = tmp;
45         }
46         return 0;
47 }
48
49 //TODO
50 int deletePile() {
51
52         return 0;
53 }