comparison PrivateQueue.c @ 9:62326cc8e6f4

This branch has replace malloc and free with VMS__malloc and VMS__free
author Me
date Sun, 31 Oct 2010 20:24:00 -0700
parents 93bf3ffcc1fb
children 3562716ebdbd
comparison
equal deleted inserted replaced
3:0aa45f74fe12 4:fb1b528ea28b
24 */ 24 */
25 25
26 PrivQueueStruc* makePrivQ() 26 PrivQueueStruc* makePrivQ()
27 { 27 {
28 PrivQueueStruc* retQ; 28 PrivQueueStruc* retQ;
29 retQ = (PrivQueueStruc *) malloc( sizeof( PrivQueueStruc ) ); 29 retQ = (PrivQueueStruc *) VMS__malloc( sizeof( PrivQueueStruc ) );
30 30
31 retQ->startOfData = malloc( 1024 * sizeof(void *) ); 31 retQ->startOfData = VMS__malloc( 1024 * sizeof(void *) );
32 32
33 retQ->extractPos = &(retQ->startOfData[0]); //side by side == empty 33 retQ->extractPos = &(retQ->startOfData[0]); //side by side == empty
34 retQ->insertPos = &(retQ->startOfData[1]); // so start pos's have to be 34 retQ->insertPos = &(retQ->startOfData[1]); // so start pos's have to be
35 retQ->endOfData = &(retQ->startOfData[1023]); 35 retQ->endOfData = &(retQ->startOfData[1023]);
36 36
44 void **oldStartOfData; 44 void **oldStartOfData;
45 45
46 oldSize = Q->endOfData - Q->startOfData; 46 oldSize = Q->endOfData - Q->startOfData;
47 newSize = 2 * oldSize; 47 newSize = 2 * oldSize;
48 oldStartOfData = Q->startOfData; 48 oldStartOfData = Q->startOfData;
49 Q->startOfData = malloc( newSize * sizeof(void *) ); 49 Q->startOfData = VMS__malloc( newSize * sizeof(void *) );
50 memcpy(Q->startOfData, oldStartOfData, oldSize * sizeof(void *)); 50 memcpy(Q->startOfData, oldStartOfData, oldSize * sizeof(void *));
51 free(oldStartOfData); 51 VMS__free(oldStartOfData);
52 52
53 Q->extractPos = &(Q->startOfData[0]); //side by side == empty 53 Q->extractPos = &(Q->startOfData[0]); //side by side == empty
54 Q->insertPos = &(Q->startOfData[1]); // so start pos's have to be 54 Q->insertPos = &(Q->startOfData[1]); // so start pos's have to be
55 Q->endOfData = &(Q->startOfData[newSize - 1]); 55 Q->endOfData = &(Q->startOfData[newSize - 1]);
56 } 56 }
137 return TRUE; 137 return TRUE;
138 } 138 }
139 //Q is full 139 //Q is full
140 return FALSE; 140 return FALSE;
141 } 141 }
142
143 void
144 freePrivQ( PrivQueueStruc *Q )
145 {
146 VMS__free( Q->startOfData );
147 VMS__free( Q );
148 }