comparison DynArray.c @ 18:ef65bdf3ce16

updated for VMS name chgs from VMS__malloc to VMS_int__malloc
author Me@portablequad
date Sun, 12 Feb 2012 01:46:42 -0800
parents 62b3a4793b6e
children 3e8e1a2a10f5
comparison
equal deleted inserted replaced
12:3f10cc712ac2 13:1f61714b7b72
17 17
18 PrivDynArrayInfo * 18 PrivDynArrayInfo *
19 makePrivDynArrayInfoFrom( void ***addrOfPtrToArray, int32 sizeOfArray ) 19 makePrivDynArrayInfoFrom( void ***addrOfPtrToArray, int32 sizeOfArray )
20 { PrivDynArrayInfo *info; 20 { PrivDynArrayInfo *info;
21 21
22 info = VMS__malloc( sizeof(PrivDynArrayInfo) ); 22 info = VMS_int__malloc( sizeof(PrivDynArrayInfo) );
23 23
24 info->addrOfPtrToArray = addrOfPtrToArray; 24 info->addrOfPtrToArray = addrOfPtrToArray;
25 info->sizeOfArray = sizeOfArray; 25 info->sizeOfArray = sizeOfArray;
26 info->numInArray = 0; 26 info->numInArray = 0;
27 return info; 27 return info;
29 29
30 PrivDynArrayInfo * 30 PrivDynArrayInfo *
31 makePrivDynArrayOfSize( void ***addrOfPtrToArray, int32 sizeOfArray ) 31 makePrivDynArrayOfSize( void ***addrOfPtrToArray, int32 sizeOfArray )
32 { PrivDynArrayInfo *info; 32 { PrivDynArrayInfo *info;
33 33
34 info = VMS__malloc( sizeof(PrivDynArrayInfo) ); 34 info = VMS_int__malloc( sizeof(PrivDynArrayInfo) );
35 35
36 info->addrOfPtrToArray = addrOfPtrToArray; 36 info->addrOfPtrToArray = addrOfPtrToArray;
37 37
38 *(addrOfPtrToArray) = VMS__malloc( sizeOfArray * sizeof(void *) ); 38 *(addrOfPtrToArray) = VMS_int__malloc( sizeOfArray * sizeof(void *) );
39 info->sizeOfArray = sizeOfArray; 39 info->sizeOfArray = sizeOfArray;
40 info->numInArray = 0; 40 info->numInArray = 0;
41 return info; 41 return info;
42 } 42 }
43 43
137 137
138 oldSizeOfArray = info->sizeOfArray; 138 oldSizeOfArray = info->sizeOfArray;
139 if( newSize <= oldSizeOfArray ) return; 139 if( newSize <= oldSizeOfArray ) return;
140 140
141 oldArray = *(info->addrOfPtrToArray); 141 oldArray = *(info->addrOfPtrToArray);
142 newArray = VMS__malloc( newSize * sizeof(void *) ); 142 newArray = VMS_int__malloc( newSize * sizeof(void *) );
143 143
144 for( i = 0; i < oldSizeOfArray; i++ ) 144 for( i = 0; i < oldSizeOfArray; i++ )
145 { 145 {
146 newArray[i] = oldArray[i]; 146 newArray[i] = oldArray[i];
147 } 147 }
148 *(info->addrOfPtrToArray) = newArray; //change location of array-ptr 148 *(info->addrOfPtrToArray) = newArray; //change location of array-ptr
149 info->sizeOfArray = newSize; 149 info->sizeOfArray = newSize;
150 150
151 VMS__free( oldArray ); 151 VMS_int__free( oldArray );
152 } 152 }
153 153
154 /*Can't mix VMS__malloc locations with external malloc locations -- so use 154 /*Can't mix VMS__malloc locations with external malloc locations -- so use
155 * this version inside VMS, which will perform normal malloc in the core 155 * this version inside VMS, which will perform normal malloc in the core
156 * loop -- hopefully avoiding the annoying system-stack bugs.. 156 * loop -- hopefully avoiding the annoying system-stack bugs..
181 */ 181 */
182 void 182 void
183 freeDynArrayDeep( PrivDynArrayInfo *info, FreeFnPtr freeFnPtr ) 183 freeDynArrayDeep( PrivDynArrayInfo *info, FreeFnPtr freeFnPtr )
184 { 184 {
185 forAllInDynArrayDo( info, freeFnPtr ); 185 forAllInDynArrayDo( info, freeFnPtr );
186 VMS__free( *(info->addrOfPtrToArray) ); 186 VMS_int__free( *(info->addrOfPtrToArray) );
187 VMS__free( info ); 187 VMS_int__free( info );
188 } 188 }
189 189
190 /* Only frees the info 190 /* Only frees the info
191 */ 191 */
192 void 192 void
193 freeDynArrayFlat( PrivDynArrayInfo *info ) 193 freeDynArrayFlat( PrivDynArrayInfo *info )
194 { 194 {
195 VMS__free( info ); 195 VMS_int__free( info );
196 } 196 }
197 197
198 198
199 /*The function has a fixed prototype: takes a void * returns void 199 /*The function has a fixed prototype: takes a void * returns void
200 * So, the function has to internally cast void * to whatever data struc.. 200 * So, the function has to internally cast void * to whatever data struc..