Changeset 707 for trunk/archive/pslib/src/Utils/dlist.c
- Timestamp:
- May 17, 2004, 7:53:16 AM (22 years ago)
- File:
-
- 1 edited
-
trunk/archive/pslib/src/Utils/dlist.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/archive/pslib/src/Utils/dlist.c
r446 r707 307 307 * Convert a psDlist to/from a psVoidPtrArray 308 308 */ 309 psV oidPtrArray*psDlistToArray(psDlist *restrict dlist)309 psVector *psDlistToArray(psDlist *restrict dlist) 310 310 { 311 311 if (dlist == NULL) { … … 313 313 } 314 314 315 psV oidPtrArray *restrict arr = psVoidPtrArrayAlloc(dlist->n);315 psVector *restrict arr = psVectorAlloc(dlist->n, PS_TYPE_OTHER); 316 316 317 317 psDlistElem *ptr = dlist->head; 318 318 for (int i = 0, n = dlist->n; i < n; i++) { 319 arr->arr [i] = ptr->data;319 arr->arr.arr_v[i] = ptr->data; 320 320 321 321 ptr->data = NULL; … … 328 328 } 329 329 330 psDlist *psArrayToDlist(psV oidPtrArray*arr)330 psDlist *psArrayToDlist(psVector *arr) 331 331 { 332 332 psDlist *list = psDlistAlloc(NULL); // list of elements 333 333 334 assert (arr != NULL); 335 if (arr->n > 0) { 336 assert (arr->type.dimen == PS_DIMEN_VECTOR && arr->type.type == PS_TYPE_OTHER); 337 } 338 334 339 for (int i = 0, n = arr->n; i < n; i++) { 335 340 psDlistAppend(list, 336 psMemDecrRefCounter(arr->arr [i])); // it's already Incr337 arr->arr [i] = NULL;338 } 339 340 psV oidPtrArrayFree(arr, NULL);341 psMemDecrRefCounter(arr->arr.arr_v[i])); // it\'s already Incr 342 arr->arr.arr_v[i] = NULL; 343 } 344 345 psVectorFree(arr, NULL); 341 346 342 347 return list;
Note:
See TracChangeset
for help on using the changeset viewer.
