Index: /trunk/psLib/src/collections/psDlist.c
===================================================================
--- /trunk/psLib/src/collections/psDlist.c	(revision 911)
+++ /trunk/psLib/src/collections/psDlist.c	(revision 912)
@@ -6,6 +6,6 @@
  *  @author Robert Daniel DeSonia, MHPCC
  *
- *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-06-07 23:18:21 $
+ *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-06-08 02:18:15 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -413,43 +413,49 @@
 }
 
-#if 0
 /*
  * Convert a psDlist to/from a psVoidPtrArray
  */
-psVoidPtrArray *psDlistToArray(psDlist *restrict dlist)
-{
+psVector* psDlistToVector(psDlist* restrict dlist)
+{
+    psDlistElem* ptr;
+    unsigned int n;
+
     if (dlist == NULL) {
         return NULL;
     }
 
-    psVoidPtrArray *restrict arr = psVoidPtrArrayAlloc(dlist->size, dlist->size);
-
-    psDlistElem *ptr = dlist->head;
-    for (int i = 0, n = dlist->size; i < n; i++) {
-        arr->arr[i] = ptr->data;
-
-        ptr->data = NULL;
+    psVector* restrict arr = psVectorAlloc(dlist->size, PS_TYPE_PTR);
+    arr->n = arr->nalloc;
+
+    ptr = dlist->head;
+    n = dlist->size;
+    for (int i = 0; i < n; i++) {
+        arr->data.PTR[i] = psMemIncrRefCounter(ptr->data);
         ptr = ptr->next;
     }
 
-    psDlistFree(dlist, NULL);
-
     return arr;
 }
 
-psDlist *psArrayToDlist(psVoidPtrArray *arr)
-{
-    psDlist *list = psDlistAlloc(NULL); // list of elements
-
-    for (int i = 0, n = arr->size; i < n; i++) {
-        psDlistAppend(list,
-                      psMemDecrRefCounter(arr->arr[i])); // it's already Incr
-        arr->arr[i] = NULL;
-    }
-
-    psVoidPtrArrayFree(arr, NULL);
+psDlist* psVectorToDlist(psVector* arr)
+{
+    unsigned int n;
+    psDlist* list; // list of elements
+
+    if (arr == NULL) {
+        return NULL;
+    }
+
+    if (arr->type.type != PS_TYPE_PTR) {
+        psError(__func__,"Can not convert a non pointer-vector to a linked list.");
+        return NULL;
+    }
+
+    list = psDlistAlloc(NULL);
+    n = arr->n;
+    for (int i = 0; i < n; i++) {
+        psDlistAppend(list,arr->data.PTR[i]);
+    }
 
     return list;
 }
-
-#endif
Index: /trunk/psLib/src/collections/psDlist.h
===================================================================
--- /trunk/psLib/src/collections/psDlist.h	(revision 911)
+++ /trunk/psLib/src/collections/psDlist.h	(revision 912)
@@ -9,6 +9,6 @@
  *  @author Robert Daniel DeSonia, MHPCC
  *
- *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-06-05 19:12:51 $
+ *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-06-08 02:18:15 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -16,4 +16,6 @@
 
 #include <pthread.h>                   // we need a mutex to make this stuff thread safe.
+
+#include "psVector.h"
 
 /** Special values of index into list
@@ -79,5 +81,5 @@
 /** Append to a list */
 psDlist* psDlistAppend(
-    psDlist* restrict list,                      ///< list to append to (may be NULL)
+    psDlist* restrict list,             ///< list to append to (may be NULL)
     void *data                          ///< data item to add
 );
@@ -118,14 +120,12 @@
 
 /** Convert doubly-linked list to an array */
-#if 0
-psVoidPtrArray *psDlistToArray(
+psVector* psDlistToVector(
     psDlist *dlist                      ///< List to convert
 );
 
 /** Convert array to a doubly-linked list */
-psDlist *psArrayToDlist(
-    psVoidPtrArray *arr                 ///< Array to convert
+psDlist* psVectorToDlist(
+    psVector* arr                       ///< vector to convert
 );
-#endif
 
 /// @} End of DataGroup Functions
