Index: trunk/psLib/test/astronomy/tst_psMetadataIO.c
===================================================================
--- trunk/psLib/test/astronomy/tst_psMetadataIO.c	(revision 2537)
+++ trunk/psLib/test/astronomy/tst_psMetadataIO.c	(revision 2607)
@@ -13,6 +13,6 @@
 *  @author  Ross Harman, MHPCC
 *
-*  @version $Revision: 1.4 $  $Name: not supported by cvs2svn $
-*  @date  $Date: 2004-11-22 20:53:39 $
+*  @version $Revision: 1.5 $  $Name: not supported by cvs2svn $
+*  @date  $Date: 2004-12-03 23:19:07 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -25,6 +25,17 @@
 
 static void printMetadataItem(psMetadataItem *metadataItem, char *spaces);
+static void printMetadata(psMetadata *metadata);
+static void printMetadataList(psList *metadataItemList, char* spaces);
+static void printMetadataTable(psHash *mdTable);
 
-static void printMetadataItemList(psList *metadataItemList)
+static void printMetadata(psMetadata *metadata)
+{
+    printf("Contents of metadata list:\n");
+    printMetadataList(metadata->list, " ");
+    printf("\nContents of metadata table:\n");
+    printMetadataTable(metadata->table);
+}
+
+static void printMetadataList(psList *metadataItemList, char* spaces)
 {
     psMetadataItem *entryChild = NULL;
@@ -33,69 +44,6 @@
     entryChild = psListGetCurrent(metadataItemList);
     while (entryChild != NULL) {
-        printMetadataItem(entryChild, "    ");
+        printMetadataItem(entryChild, spaces);
         entryChild = psListGetNext(metadataItemList);
-    }
-}
-
-static void printMetadataList(psList *metadataItemList)
-{
-    psMetadataItem *entryChild = NULL;
-
-    psListSetIterator(metadataItemList, PS_LIST_HEAD);
-    entryChild = psListGetCurrent(metadataItemList);
-    while (entryChild != NULL) {
-        printMetadataItem(entryChild, " ");
-        entryChild = psListGetNext(metadataItemList);
-    }
-}
-static void printMetadataItem(psMetadataItem *metadataItem, char *spaces)
-{
-
-    psVector *vec = NULL;
-
-
-    printf("%sKey Name: %8s  ", spaces, metadataItem->name);
-    printf("Key Type: %2d  ", metadataItem->type);
-
-    switch (metadataItem->type ) {
-    case PS_META_ITEM_SET:
-        printf("Key Value: %17c", ' ');
-        break;
-    case PS_META_BOOL:
-        printf("Key Value: %15d  ", metadataItem->data.B);
-        break;
-    case PS_META_S32:
-        printf("Key Value: %15d  ", metadataItem->data.S32);
-        break;
-    case PS_META_F32:
-        printf("Key Value: %15.3f  ", metadataItem->data.F32);
-        break;
-    case PS_META_F64:
-        printf("Key Value: %15.3f  ", metadataItem->data.F64);
-        break;
-    case PS_META_STR:
-        printf("Key Value: %15s  ", (char*)metadataItem->data.V);
-        break;
-    case PS_META_VEC:
-        vec = (psVector*)metadataItem->data.V;
-        printf("Key Value: ");
-        for(psS32 i=0; i<vec->nalloc;i++) {
-            printf("%d ", vec->data.S32[i]);
-        }
-        break;
-    case PS_META_IMG:
-    case PS_META_JPEG:
-    case PS_META_PNG:
-    case PS_META_ASTROM:
-    case PS_META_UNKNOWN:
-        printf("Value: unknown ");
-        break;
-    default:
-        printf("Bad type: %d ", metadataItem->type);
-    }
-    printf("Key Comment: %s\n", metadataItem->comment);
-
-    if(metadataItem->items->size) {
-        printMetadataItemList(metadataItem->items);
     }
 }
@@ -114,10 +62,43 @@
 }
 
-static void printMetadata(psMetadata *metadata)
+static void printMetadataItem(psMetadataItem *metadataItem, char *spaces)
 {
-    printf("\nContents of metadata list:\n");
-    printMetadataList(metadata->list);
-    printf("\nContents of metadata table:\n");
-    printMetadataTable(metadata->table);
+    printf("%sKey Name: %8s  ", spaces, metadataItem->name);
+    printf("Key pType: %d  ", metadataItem->pType);
+    printf("Key mdType: %d  ", metadataItem->type);
+
+    switch (metadataItem->type) {
+    case PS_META_LIST:
+        printf("Key Value: %17c", ' ');
+        break;
+    case PS_META_PRIMITIVE:
+        switch(metadataItem->pType) {
+        case PS_TYPE_BOOL:
+            printf("Key Value: %15d  ", metadataItem->data.B);
+            break;
+        case PS_TYPE_S32:
+            printf("Key Value: %15d  ", metadataItem->data.S32);
+            break;
+        case PS_TYPE_F32:
+            printf("Key Value: %15.3f  ", metadataItem->data.F32);
+            break;
+        case PS_TYPE_F64:
+            printf("Key Value: %15.3f  ", metadataItem->data.F64);
+            break;
+        default:
+            printf("Bad type: %d ", metadataItem->pType);
+        }
+        break;
+    case PS_META_STR:
+        printf("Key Value: %15s  ", (char*)metadataItem->data.V);
+        break;
+    default:
+        printf("Bad type: %d ", metadataItem->type);
+    }
+    printf("Key Comment: %s\n", metadataItem->comment);
+
+    if(metadataItem->data.V && metadataItem->type==PS_META_LIST) {
+        printMetadataList(metadataItem->data.V, "    ");
+    }
 }
 
@@ -128,6 +109,6 @@
     printPositiveTestHeader(stdout, "psMetadata", "Test A - Read config file with overwrite set true");
     psMetadata *metadata1 = NULL;
-    psS32 failedLines1 = 0;
-    failedLines1 = psMetadataParseConfig(&metadata1, "test.config", true);
+    psU32 failedLines1 = 0;
+    metadata1 = psMetadataParseConfig(metadata1, &failedLines1, "test.config", true);
     printf("Failed lines: %d Expected: 6\n", failedLines1);
     printMetadata(metadata1);
@@ -139,6 +120,6 @@
     psMetadata *metadata2 = NULL;
     psS32 failedLines2 = 0;
-    failedLines2 = psMetadataParseConfig(&metadata2, "test.config", false);
-    printf("Failed lines: %d Expected: 7", failedLines2);
+    metadata2 = psMetadataParseConfig(metadata2, &failedLines2, "test.config", false);
+    printf("Failed lines: %d Expected: 7 ", failedLines2);
     printMetadata(metadata2);
     printFooter(stdout, "psMetadata", "Test B - Read config file with overwrite set false", true);
@@ -149,6 +130,6 @@
     psMetadata *metadata3 = psMetadataAlloc();
     psS32 failedLines3 = 0;
-    failedLines3 = psMetadataParseConfig(&metadata3, "test.config", false);
-    printf("Failed lines: %d Expected: 7", failedLines3);
+    metadata3 = psMetadataParseConfig(metadata3, &failedLines3, "test.config", true);
+    printf("Failed lines: %d Expected: 6 ", failedLines3);
     printMetadata(metadata3);
     printFooter(stdout, "psMetadata", "Test C - Read config file without auto-allocation of metadata", true);
@@ -158,5 +139,5 @@
     printNegativeTestHeader(stdout,"psMetadataIO", "Test D - Attempt to use null fileName argument",
                             "Null failedLines not allowed", 0);
-    psMetadataParseConfig(&metadata1, NULL, true);
+    psMetadataParseConfig(metadata1, &failedLines1, NULL, true);
     printFooter(stdout, "psMetadata", "Test D - Attempt to use null fileName argument", true);
 
@@ -165,5 +146,5 @@
     printNegativeTestHeader(stdout,"psMetadataIO", "Test E - Attempt to open nonexistant file",
                             "Error opening file", 0);
-    psMetadataParseConfig(&metadata1, "abcedfg", true);
+    psMetadataParseConfig(metadata1, &failedLines1, "abcedfg", true);
     printFooter(stdout, "psMetadata", "Test E - Attempt to open nonexistant file", true);
 
Index: trunk/psLib/test/astronomy/tst_psMetadata_01.c
===================================================================
--- trunk/psLib/test/astronomy/tst_psMetadata_01.c	(revision 2537)
+++ trunk/psLib/test/astronomy/tst_psMetadata_01.c	(revision 2607)
@@ -13,10 +13,11 @@
 *     Test H - Attempt to use bad extNum
 *     Test I - Attempt to use bad extNameTest
-*     Test J - Free psMetadataData
+*     Test J - Read named hdr w/ invalid extnum
+*     Test K - Free psMetadata
 *
 *  @author  Ross Harman, MHPCC
 *
-*  @version $Revision: 1.15 $  $Name: not supported by cvs2svn $
-*  @date  $Date: 2004-11-22 20:54:50 $
+*  @version $Revision: 1.16 $  $Name: not supported by cvs2svn $
+*  @date  $Date: 2004-12-03 23:19:07 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -29,6 +30,17 @@
 
 static void printMetadataItem(psMetadataItem *metadataItem, char *spaces);
-
-static void printMetadataItemList(psList *metadataItemList)
+static void printMetadata(psMetadata *metadata);
+static void printMetadataList(psList *metadataItemList, char* spaces);
+static void printMetadataTable(psHash *mdTable);
+
+static void printMetadata(psMetadata *metadata)
+{
+    printf("Contents of metadata list:\n");
+    printMetadataList(metadata->list, " ");
+    printf("\nContents of metadata table:\n");
+    printMetadataTable(metadata->table);
+}
+
+static void printMetadataList(psList *metadataItemList, char* spaces)
 {
     psMetadataItem *entryChild = NULL;
@@ -37,58 +49,6 @@
     entryChild = psListGetCurrent(metadataItemList);
     while (entryChild != NULL) {
-        printMetadataItem(entryChild, "    ");
+        printMetadataItem(entryChild, spaces);
         entryChild = psListGetNext(metadataItemList);
-    }
-}
-
-static void printMetadataList(psList *metadataItemList)
-{
-    psMetadataItem *entryChild = NULL;
-
-    psListSetIterator(metadataItemList, PS_LIST_HEAD);
-    entryChild = psListGetCurrent(metadataItemList);
-    while (entryChild != NULL) {
-        printMetadataItem(entryChild, " ");
-        entryChild = psListGetNext(metadataItemList);
-    }
-}
-static void printMetadataItem(psMetadataItem *metadataItem, char *spaces)
-{
-    printf("%sKey Name: %8s  ", spaces, metadataItem->name);
-    printf("Key Type: %2d  ", metadataItem->type);
-
-    switch (metadataItem->type ) {
-    case PS_META_ITEM_SET:
-        printf("Key Value: %17c", ' ');
-        break;
-    case PS_META_BOOL:
-        printf("Key Value: %15d  ", metadataItem->data.B);
-        break;
-    case PS_META_S32:
-        printf("Key Value: %15d  ", metadataItem->data.S32);
-        break;
-    case PS_META_F32:
-        printf("Key Value: %15.3f  ", metadataItem->data.F32);
-        break;
-    case PS_META_F64:
-        printf("Key Value: %15.3f  ", metadataItem->data.F64);
-        break;
-    case PS_META_STR:
-        printf("Key Value: %15s  ", (char*)metadataItem->data.V);
-        break;
-    case PS_META_IMG:
-    case PS_META_JPEG:
-    case PS_META_PNG:
-    case PS_META_ASTROM:
-    case PS_META_UNKNOWN:
-        printf("Value: unknown ");
-        break;
-    default:
-        printf("Bad type: %d ", metadataItem->type);
-    }
-    printf("Key Comment: %s\n", metadataItem->comment);
-
-    if(metadataItem->items->size) {
-        printMetadataItemList(metadataItem->items);
     }
 }
@@ -107,10 +67,43 @@
 }
 
-static void printMetadata(psMetadata *metadata)
-{
-    printf("Contents of metadata list:\n");
-    printMetadataList(metadata->list);
-    printf("\nContents of metadata table:\n");
-    printMetadataTable(metadata->table);
+static void printMetadataItem(psMetadataItem *metadataItem, char *spaces)
+{
+    printf("%sKey Name: %8s  ", spaces, metadataItem->name);
+    printf("Key pType: %d  ", metadataItem->pType);
+    printf("Key mdType: %d  ", metadataItem->type);
+
+    switch (metadataItem->type) {
+    case PS_META_LIST:
+        printf("Key Value: %17c", ' ');
+        break;
+    case PS_META_PRIMITIVE:
+        switch(metadataItem->pType) {
+        case PS_TYPE_BOOL:
+            printf("Key Value: %15d  ", metadataItem->data.B);
+            break;
+        case PS_TYPE_S32:
+            printf("Key Value: %15d  ", metadataItem->data.S32);
+            break;
+        case PS_TYPE_F32:
+            printf("Key Value: %15.3f  ", metadataItem->data.F32);
+            break;
+        case PS_TYPE_F64:
+            printf("Key Value: %15.3f  ", metadataItem->data.F64);
+            break;
+        default:
+            printf("Bad type: %d ", metadataItem->pType);
+        }
+        break;
+    case PS_META_STR:
+        printf("Key Value: %15s  ", (char*)metadataItem->data.V);
+        break;
+    default:
+        printf("Bad type: %d ", metadataItem->type);
+    }
+    printf("Key Comment: %s\n", metadataItem->comment);
+
+    if(metadataItem->data.V && metadataItem->type==PS_META_LIST) {
+        printMetadataList(metadataItem->data.V, "    ");
+    }
 }
 
@@ -244,17 +237,17 @@
 
 
-    // Test I1 - Attempt to use a valid named extension with invalid extnum
-    printNegativeTestHeader(stdout, "psMetadata", "Test I1 - Read named hdr w/ invalid extnum",
+    // Test J - Read named hdr w/ invalid extnum
+    printNegativeTestHeader(stdout, "psMetadata", "Test J - Read named hdr w/ invalid extnum",
                             "If extName specified, extNum should be -1.", 0);
-    metadata1 = psMetadataReadHeader(NULL, "MY_DATA_2", 0, "header_2.fits");
+    metadata1 = psMetadataReadHeader(NULL, NULL, 0, "header_2.fits");
     if (metadata1 != NULL ) {
         psError(PS_ERR_UNKNOWN, true,"psMetadataReadHeader did not return null w/ valid extname, invalid extnum");
         return 12;
     }
-    printFooter(stdout, "psMetadata", "Test C - Read named hdr from complex FITS file", true);
-
-
-    // Test J - Free psMetadata
-    printPositiveTestHeader(stdout, "psMetadata", "Test J - Free psMetadata");
+    printFooter(stdout, "psMetadata", "Test J - Read named hdr w/ invalid extnum", true);
+
+
+    // Test K - Free psMetadata
+    printPositiveTestHeader(stdout, "psMetadata", "Test K - Free psMetadata");
     psFree(metadata1);
     psFree(metadata2);
@@ -262,5 +255,4 @@
     if(psMemCheckLeaks(0, NULL, stdout,false)) {
         psError(PS_ERR_UNKNOWN,true,"Memory leaks detected.");
-        return 10;
     }
     psMemCheckCorruption(0);
@@ -269,5 +261,5 @@
         printf("ERROR: Found %d bad memory blocks\n", nBad);
     }
-    printFooter(stdout, "psMetadata", "Test J - Free psMetadata", true);
+    printFooter(stdout, "psMetadata", "Test K - Free psMetadata", true);
 
     return 0;
Index: trunk/psLib/test/astronomy/tst_psMetadata_02.c
===================================================================
--- trunk/psLib/test/astronomy/tst_psMetadata_02.c	(revision 2537)
+++ trunk/psLib/test/astronomy/tst_psMetadata_02.c	(revision 2607)
@@ -14,6 +14,6 @@
 *  @author  Ross Harman, MHPCC
 *
-*  @version $Revision: 1.8 $  $Name: not supported by cvs2svn $
-*  @date  $Date: 2004-11-22 20:54:50 $
+*  @version $Revision: 1.9 $  $Name: not supported by cvs2svn $
+*  @date  $Date: 2004-12-03 23:19:07 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -25,36 +25,39 @@
 #include <string.h>
 
-static void printMetadataItem(psMetadataItem *item)
+static void printMetadataItem(psMetadataItem *metadataItem)
 {
-    printf("Key Name: %8s  ", item->name);
-    printf("Key Type: %2d  ", item->type);
+    printf("Key Name: %8s  ", metadataItem->name);
+    printf("Key pType: %2d  ", metadataItem->pType);
+    printf("Key mdType: %2d  ", metadataItem->type);
 
-    switch (item->type ) {
-    case PS_META_BOOL:
-        printf("Key Value: %15d  ", item->data.B);
+    switch (metadataItem->type) {
+    case PS_META_LIST:
+        printf("Key Value: %17c", ' ');
         break;
-    case PS_META_S32:
-        printf("Key Value: %15d  ", item->data.S32);
-        break;
-    case PS_META_F32:
-        printf("Key Value: %15.3f  ", item->data.F32);
-        break;
-    case PS_META_F64:
-        printf("Key Value: %15.3f  ", item->data.F64);
+    case PS_META_PRIMITIVE:
+        switch(metadataItem->pType) {
+        case PS_TYPE_BOOL:
+            printf("Key Value: %15d  ", metadataItem->data.B);
+            break;
+        case PS_TYPE_S32:
+            printf("Key Value: %15d  ", metadataItem->data.S32);
+            break;
+        case PS_TYPE_F32:
+            printf("Key Value: %15.3f  ", metadataItem->data.F32);
+            break;
+        case PS_TYPE_F64:
+            printf("Key Value: %15.3f  ", metadataItem->data.F64);
+            break;
+        default:
+            printf("Bad type: %d ", metadataItem->pType);
+        }
         break;
     case PS_META_STR:
-        printf("Key Value: %15s  ", (char*)item->data.V);
-        break;
-    case PS_META_IMG:
-    case PS_META_JPEG:
-    case PS_META_PNG:
-    case PS_META_ASTROM:
-    case PS_META_UNKNOWN:
-        printf("Value: unknown ");
+        printf("Key Value: %15s  ", (char*)metadataItem->data.V);
         break;
     default:
-        printf("Bad type: %d ", item->type);
+        printf("Bad type: %d ", metadataItem->type);
     }
-    printf("Key Comment: %s\n", item->comment);
+    printf("Key Comment: %s\n", metadataItem->comment);
 }
 
@@ -73,9 +76,9 @@
     // Test A - Allocate metadata items
     printPositiveTestHeader(stdout, "psMetadata", "Test A - Allocate metadata items");
-    item1 = psMetadataItemAlloc("myItem1", PS_META_BOOL, "I am a boolean", true);
-    item2 = psMetadataItemAlloc("myItem2", PS_META_S32, "I am a signed integer", 111);
-    item3 = psMetadataItemAlloc("myItem3", PS_META_F32, "I am a single precision floating point", 222.222);
-    item4 = psMetadataItemAlloc("myItem4", PS_META_F64, "I am a double precision floating point", 333.333);
-    item5 = psMetadataItemAlloc("myItem5", PS_META_STR, "I am a string", "HELLO WORLD");
+    item1 = psMetadataItemAlloc("myItem1", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", true);
+    item2 = psMetadataItemAlloc("myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a signed integer", 111);
+    item3 = psMetadataItemAlloc("myItem3", PS_TYPE_F32, PS_META_PRIMITIVE, "I am a single precision floating point", 222.222);
+    item4 = psMetadataItemAlloc("myItem4", PS_TYPE_F64, PS_META_PRIMITIVE, "I am a double precision floating point", 333.333);
+    item5 = psMetadataItemAlloc("myItem5", PS_TYPE_PTR, PS_META_STR, "I am a string", "HELLO WORLD");
     printMetadataItem(item1);
     printMetadataItem(item2);
@@ -90,5 +93,5 @@
                             "Null value for name not allowed", 0);
     psLogMsg(__func__,PS_LOG_INFO,"Following should produce error for null name.");
-    badItem = psMetadataItemAlloc(NULL, PS_META_STR, "I am a string", "HELLO WORLD");
+    badItem = psMetadataItemAlloc(NULL, PS_TYPE_PTR, PS_META_STR, "I am a string", "HELLO WORLD");
     if (badItem != NULL) {
         psError(PS_ERR_UNKNOWN, true,"psMetadataItemAlloc did not return null with null name item.");
@@ -101,5 +104,5 @@
     printNegativeTestHeader(stdout,"psMetadata", "Test C - Attempt to create metadata item with invalid type",
                             "Invalid psMetadataType: 6", 0);
-    badItem = psMetadataItemAlloc("badItem", PS_META_IMG, "I am bad", "Bad comment");
+    badItem = psMetadataItemAlloc("badItem", PS_TYPE_PTR, PS_META_NTYPE, "I am bad", "Bad comment");
     printFooter(stdout, "psMetadata", "Test C - Attempt to create metadata item with invalid type", true);
 
Index: trunk/psLib/test/astronomy/tst_psMetadata_03.c
===================================================================
--- trunk/psLib/test/astronomy/tst_psMetadata_03.c	(revision 2537)
+++ trunk/psLib/test/astronomy/tst_psMetadata_03.c	(revision 2607)
@@ -10,10 +10,14 @@
 *     Test E - Attempt to remove non-existant metadata item by name
 *     Test F - Attempt to remove non-existant metadata item by index
-*     Test G - Free psMetadata
- *
+*     Test G - Attempt to add item to an invalid metadata structure
+*     Test H - Attempt to add item to an invalid metadata structure
+*     Test I - Attempt to add item with a null name
+*     Test J - Attempt to add item to an invalid metadata structure
+*     Test K - Free psMetadata
+*
 *  @author  Ross Harman, MHPCC
 *
-*  @version $Revision: 1.10 $  $Name: not supported by cvs2svn $
-*  @date  $Date: 2004-11-22 20:54:50 $
+*  @version $Revision: 1.11 $  $Name: not supported by cvs2svn $
+*  @date  $Date: 2004-12-03 23:19:07 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -25,36 +29,39 @@
 #include <string.h>
 
-static void printMetadataItem(psMetadataItem *item)
+static void printMetadataItem(psMetadataItem *metadataItem)
 {
-    printf("Key Name: %8s  ", item->name);
-    printf("Key Type: %2d  ", item->type);
-
-    switch (item->type ) {
-    case PS_META_BOOL:
-        printf("Key Value: %15d  ", item->data.B);
+    printf("Key Name: %8s  ", metadataItem->name);
+    printf("Key pType: %2d  ", metadataItem->pType);
+    printf("Key mdType: %2d  ", metadataItem->type);
+
+    switch (metadataItem->type) {
+    case PS_META_LIST:
+        printf("Key Value: %17c", ' ');
         break;
-    case PS_META_S32:
-        printf("Key Value: %15d  ", item->data.S32);
-        break;
-    case PS_META_F32:
-        printf("Key Value: %15.3f  ", item->data.F32);
-        break;
-    case PS_META_F64:
-        printf("Key Value: %15.3f  ", item->data.F64);
+    case PS_META_PRIMITIVE:
+        switch(metadataItem->pType) {
+        case PS_TYPE_BOOL:
+            printf("Key Value: %15d  ", metadataItem->data.B);
+            break;
+        case PS_TYPE_S32:
+            printf("Key Value: %15d  ", metadataItem->data.S32);
+            break;
+        case PS_TYPE_F32:
+            printf("Key Value: %15.3f  ", metadataItem->data.F32);
+            break;
+        case PS_TYPE_F64:
+            printf("Key Value: %15.3f  ", metadataItem->data.F64);
+            break;
+        default:
+            printf("Bad type: %d ", metadataItem->pType);
+        }
         break;
     case PS_META_STR:
-        printf("Key Value: %15s  ", (char*)item->data.V);
-        break;
-    case PS_META_IMG:
-    case PS_META_JPEG:
-    case PS_META_PNG:
-    case PS_META_ASTROM:
-    case PS_META_UNKNOWN:
-        printf("Value: unknown ");
+        printf("Key Value: %15s  ", (char*)metadataItem->data.V);
         break;
     default:
-        printf("Bad type: %d ", item->type);
-    }
-    printf("Key Comment: %s\n", item->comment);
+        printf("Bad type: %d ", metadataItem->type);
+    }
+    printf("Key Comment: %s\n", metadataItem->comment);
 }
 
@@ -76,9 +83,9 @@
     printPositiveTestHeader(stdout, "psMetadata", "Test A - Allocate metadata items");
     metadata = psMetadataAlloc();
-    item1 = psMetadataItemAlloc("myItem1", PS_META_BOOL, "I am a boolean", true);
-    item2 = psMetadataItemAlloc("myItem2", PS_META_S32, "I am a integer", 55);
-    item3 = psMetadataItemAlloc("myItem3", PS_META_BOOL, "I am a boolean", false);
-    item4 = psMetadataItemAlloc("myItem4", PS_META_S32, "I am a integer", 66);
-    errItem = psMetadataItemAlloc("errItem", PS_META_S32, "I am a integer", 99);
+    item1 = psMetadataItemAlloc("myItem1", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", true);
+    item2 = psMetadataItemAlloc("myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 55);
+    item3 = psMetadataItemAlloc("myItem3", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", false);
+    item4 = psMetadataItemAlloc("myItem4", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 66);
+    errItem = psMetadataItemAlloc("errItem", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 99);
     printMetadataItem(item1);
     printMetadataItem(item2);
@@ -90,17 +97,17 @@
     // Test B - Remove items from metadata by name
     printPositiveTestHeader(stdout, "psMetadata", "Test B - Remove items from metadata by name");
-    if( ! psMetadataAddItem(metadata, item1, PS_LIST_HEAD) ) {
+    if(!psMetadataAddItem(metadata, item1, PS_LIST_HEAD)) {
         psError(PS_ERR_UNKNOWN, true,"psMetadataAddItem did not return true when adding by name.");
         return 10;
     }
-    if( ! psMetadataAdd(metadata,PS_LIST_HEAD,"myItem2",PS_META_S32,"I am S32 integer",77) ) {
+    if(!psMetadataAdd(metadata,PS_LIST_HEAD,"myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am S32 integer",77)) {
         psError(PS_ERR_UNKNOWN, true,"psMetadataAddItem did not return true when adding by name.");
         return 11;
     }
-    if ( ! psMetadataRemove(metadata, 0, "myItem1" ) ) {
+    if (!psMetadataRemove(metadata, 0, "myItem1")) {
         psError(PS_ERR_UNKNOWN, true,"psMetadataRemove did not return true when removing by name.");
         return 12;
     }
-    if ( ! psMetadataRemove(metadata, 0, "myItem2" ) ) {
+    if (!psMetadataRemove(metadata, 0, "myItem2")) {
         psError(PS_ERR_UNKNOWN, true,"psMetadataRemove did not return true when removing by name.");
         return 13;
@@ -115,5 +122,5 @@
         return 14;
     }
-    if ( ! psMetadataAdd(metadata,PS_LIST_HEAD,"myItem4",PS_META_S32,"I am S32 integer",88) ) {
+    if ( ! psMetadataAdd(metadata,PS_LIST_HEAD,"myItem4", PS_TYPE_S32, PS_META_PRIMITIVE, "I am S32 integer",88) ) {
         psError(PS_ERR_UNKNOWN, true,"psMetadataAddItem did not return true when adding by index.");
         return 15;
@@ -160,6 +167,6 @@
 
 
-    // Test H - Attempt to add item to an invalid metadata structure
-    printNegativeTestHeader(stdout,"psMetadata","Test H - Attempt to add item to metadata w/o hash table",
+    // Test G - Attempt to add item to an invalid metadata structure
+    printNegativeTestHeader(stdout,"psMetadata","Test G - Attempt to add item to metadata w/o hash table",
                             "Couldn't add item to invalid metadata structure.",0);
     errMetadata = psMetadataAlloc();
@@ -175,8 +182,8 @@
     }
     errMetadata->table = mdTable;
-    printFooter(stdout,"psMetadata","Test H - Attempt to add item to invalid metadata w/o hash table", true);
-
-    // Test J - Attempt to add item to an invalid metadata structure
-    printNegativeTestHeader(stdout,"psMetadata","Test J - Attempt to add item to metadata w/o link list",
+    printFooter(stdout,"psMetadata","Test G - Attempt to add item to invalid metadata w/o hash table", true);
+
+    // Test H - Attempt to add item to an invalid metadata structure
+    printNegativeTestHeader(stdout,"psMetadata","Test H - Attempt to add item to metadata w/o link list",
                             "Couldn't add item to invalid metadata structure.",0);
     mdList = errMetadata->list;
@@ -191,8 +198,8 @@
     }
     errMetadata->list = mdList;
-    printFooter(stdout,"psMetadata","Test J - Attempt to add item to invalid metadata w/o link list", true);
-
-    // Test K - Attempt to add item with a null name
-    printNegativeTestHeader(stdout,"psMetadata","Test K - Attempt to add item with null name",
+    printFooter(stdout,"psMetadata","Test H - Attempt to add item to invalid metadata w/o link list", true);
+
+    // Test I - Attempt to add item with a null name
+    printNegativeTestHeader(stdout,"psMetadata","Test I - Attempt to add item with null name",
                             "Couldn't add item with null name.",0);
     errName = errItem->name;
@@ -203,20 +210,20 @@
     }
     errItem->name = errName;
-    printFooter(stdout,"psMetadata","Test K - Attempt to add item with null name", true);
-
-    // Test L - Attempt to add item to an invalid metadata structure
-    printNegativeTestHeader(stdout,"psMetadata","Test L - Attempt to add item to metadata w/o hash table",
+    printFooter(stdout,"psMetadata","Test I - Attempt to add item with null name", true);
+
+    // Test J - Attempt to add item to an invalid metadata structure
+    printNegativeTestHeader(stdout,"psMetadata","Test J - Attempt to add item to metadata w/o hash table",
                             "Couldn't add item to invalid metadata structure.",0);
     mdTable = errMetadata->table;
     errMetadata->table = NULL;
-    if ( psMetadataAdd(errMetadata, PS_LIST_HEAD, "errItem", PS_META_S32,"Integer",22) ) {
+    if (psMetadataAdd(errMetadata, PS_LIST_HEAD, "errItem", PS_TYPE_S32, PS_META_PRIMITIVE, "Integer",22) ) {
         psError(PS_ERR_UNKNOWN, true,"psMetadataAddItem did not return false w/ invalid metadata struct w/o hash table.");
         return 24;
     }
     errMetadata->table = mdTable;
-    printFooter(stdout,"psMetadata","Test L - Attempt to add item to invalid metadata w/o hash table", true);
-
-    // Test G - Free psMetadata
-    printPositiveTestHeader(stdout, "psMetadata", "Test G - Free psMetadata");
+    printFooter(stdout,"psMetadata","Test J - Attempt to add item to invalid metadata w/o hash table", true);
+
+    // Test K - Free psMetadata
+    printPositiveTestHeader(stdout, "psMetadata", "Test K - Free psMetadata");
     psFree(metadata);
     psFree(item1);
@@ -235,5 +242,5 @@
         printf("ERROR: Found %d bad memory blocks\n", nBad);
     }
-    printFooter(stdout, "psMetadata", "Test G - Free psMetadata", true);
+    printFooter(stdout, "psMetadata", "Test K - Free psMetadata", true);
 
 
Index: trunk/psLib/test/astronomy/tst_psMetadata_04.c
===================================================================
--- trunk/psLib/test/astronomy/tst_psMetadata_04.c	(revision 2537)
+++ trunk/psLib/test/astronomy/tst_psMetadata_04.c	(revision 2607)
@@ -13,11 +13,12 @@
 *     Test G - Attempt to use null metadata
 *     Test H - Attempt to get non-existant metadata item
-*     Test I - Free psMetadata
-*     Test J - Attempt to look up with an invalid metadata object
+*     Test I - Attempt to look up with an invalid metadata object
+*     Test J - Attempt get item  with an invalid metadata object
+*     Test K - Free psMetadata
 *
 *  @author  Ross Harman, MHPCC
 *
-*  @version $Revision: 1.8 $  $Name: not supported by cvs2svn $
-*  @date  $Date: 2004-11-22 20:54:50 $
+*  @version $Revision: 1.9 $  $Name: not supported by cvs2svn $
+*  @date  $Date: 2004-12-03 23:19:07 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -29,36 +30,39 @@
 #include <string.h>
 
-static void printMetadataItem(psMetadataItem *item)
+static void printMetadataItem(psMetadataItem *metadataItem)
 {
-    printf("Key Name: %8s  ", item->name);
-    printf("Key Type: %2d  ", item->type);
-
-    switch (item->type ) {
-    case PS_META_BOOL:
-        printf("Key Value: %15d  ", item->data.B);
+    printf("Key Name: %8s  ", metadataItem->name);
+    printf("Key pType: %2d  ", metadataItem->pType);
+    printf("Key mdType: %2d  ", metadataItem->type);
+
+    switch (metadataItem->type) {
+    case PS_META_LIST:
+        printf("Key Value: %17c", ' ');
         break;
-    case PS_META_S32:
-        printf("Key Value: %15d  ", item->data.S32);
-        break;
-    case PS_META_F32:
-        printf("Key Value: %15.3f  ", item->data.F32);
-        break;
-    case PS_META_F64:
-        printf("Key Value: %15.3f  ", item->data.F64);
+    case PS_META_PRIMITIVE:
+        switch(metadataItem->pType) {
+        case PS_TYPE_BOOL:
+            printf("Key Value: %15d  ", metadataItem->data.B);
+            break;
+        case PS_TYPE_S32:
+            printf("Key Value: %15d  ", metadataItem->data.S32);
+            break;
+        case PS_TYPE_F32:
+            printf("Key Value: %15.3f  ", metadataItem->data.F32);
+            break;
+        case PS_TYPE_F64:
+            printf("Key Value: %15.3f  ", metadataItem->data.F64);
+            break;
+        default:
+            printf("Bad type: %d ", metadataItem->pType);
+        }
         break;
     case PS_META_STR:
-        printf("Key Value: %15s  ", (char*)item->data.V);
-        break;
-    case PS_META_IMG:
-    case PS_META_JPEG:
-    case PS_META_PNG:
-    case PS_META_ASTROM:
-    case PS_META_UNKNOWN:
-        printf("Value: unknown ");
+        printf("Key Value: %15s  ", (char*)metadataItem->data.V);
         break;
     default:
-        printf("Bad type: %d ", item->type);
-    }
-    printf("Key Comment: %s\n", item->comment);
+        printf("Bad type: %d ", metadataItem->type);
+    }
+    printf("Key Comment: %s\n", metadataItem->comment);
 }
 
@@ -75,11 +79,12 @@
     psList* tmpList = NULL;
 
+
     // Test A - Allocate metadata and items
     printPositiveTestHeader(stdout, "psMetadata", "Test A - Allocate metadata items");
     metadata = psMetadataAlloc();
-    item1 = psMetadataItemAlloc("myItem1", PS_META_BOOL, "I am a boolean", true);
-    item2 = psMetadataItemAlloc("myItem2", PS_META_S32, "I am a integer", 55);
-    item3 = psMetadataItemAlloc("myItem3", PS_META_BOOL, "I am a boolean", false);
-    item4 = psMetadataItemAlloc("myItem4", PS_META_S32, "I am a integer", 66);
+    item1 = psMetadataItemAlloc("myItem1", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", true);
+    item2 = psMetadataItemAlloc("myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 55);
+    item3 = psMetadataItemAlloc("myItem3", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", false);
+    item4 = psMetadataItemAlloc("myItem4", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 66);
     printMetadataItem(item1);
     printMetadataItem(item2);
@@ -165,6 +170,6 @@
     printFooter(stdout, "psMetadata", "Test H - Attempt to get non-existant metadata item", true);
 
-    // Test J - Attempt to look up with an invalid metadata object
-    printNegativeTestHeader(stdout,"psMetadata","Test J - Attemp to look up with an invalid metadata",
+    // Test I - Attempt to look up with an invalid metadata object
+    printNegativeTestHeader(stdout,"psMetadata","Test I - Attemp to look up with an invalid metadata",
                             "Lookup item with invalid metadata object.", 0 );
     tmpTable = metadata->table;
@@ -175,8 +180,8 @@
     }
     metadata->table = tmpTable;
-    printFooter(stdout, "psMetadata","Test J - Attempt to lookup an invalid metadata object.",true);
-
-    // Test K - Attempt get item  with an invalid metadata object
-    printNegativeTestHeader(stdout,"psMetadata","Test K - Attemp to get item with an invalid metadata",
+    printFooter(stdout, "psMetadata","Test I - Attempt to lookup an invalid metadata object.",true);
+
+    // Test J - Attempt get item  with an invalid metadata object
+    printNegativeTestHeader(stdout,"psMetadata","Test J - Attemp to get item with an invalid metadata",
                             "Get item with invalid metadata object.", 0 );
     tmpList = metadata->list;
@@ -187,8 +192,8 @@
     }
     metadata->list = tmpList;
-    printFooter(stdout, "psMetadata","Test K - Attempt to get item with  invalid metadata object.",true);
-
-    // Test I - Free psMetadata
-    printPositiveTestHeader(stdout, "psMetadata", "Test I - Free psMetadata");
+    printFooter(stdout, "psMetadata","Test J - Attempt to get item with  invalid metadata object.",true);
+
+    // Test K - Free psMetadata
+    printPositiveTestHeader(stdout, "psMetadata", "Test K - Free psMetadata");
     psFree(metadata);
     psFree(item1);
@@ -206,5 +211,5 @@
         return 21;
     }
-    printFooter(stdout, "psMetadata", "Test I - Free psMetadata", true);
+    printFooter(stdout, "psMetadata", "Test K - Free psMetadata", true);
 
 
Index: trunk/psLib/test/astronomy/tst_psMetadata_05.c
===================================================================
--- trunk/psLib/test/astronomy/tst_psMetadata_05.c	(revision 2537)
+++ trunk/psLib/test/astronomy/tst_psMetadata_05.c	(revision 2607)
@@ -22,6 +22,6 @@
 *  @author  Ross Harman, MHPCC
 *
-*  @version $Revision: 1.12 $  $Name: not supported by cvs2svn $
-*  @date  $Date: 2004-11-30 01:16:43 $
+*  @version $Revision: 1.13 $  $Name: not supported by cvs2svn $
+*  @date  $Date: 2004-12-03 23:19:07 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -33,36 +33,39 @@
 #include <string.h>
 
-static void printMetadataItem(psMetadataItem *item)
+static void printMetadataItem(psMetadataItem *metadataItem)
 {
-    printf("Key Name: %8s  ", item->name);
-    printf("Key Type: %2d  ", item->type);
-
-    switch (item->type ) {
-    case PS_META_BOOL:
-        printf("Key Value: %15d  ", item->data.B);
+    printf("Key Name: %8s  ", metadataItem->name);
+    printf("Key pType: %2d  ", metadataItem->pType);
+    printf("Key mdType: %2d  ", metadataItem->type);
+
+    switch (metadataItem->type) {
+    case PS_META_LIST:
+        printf("Key Value: %17c", ' ');
         break;
-    case PS_META_S32:
-        printf("Key Value: %15d  ", item->data.S32);
-        break;
-    case PS_META_F32:
-        printf("Key Value: %15.3f  ", item->data.F32);
-        break;
-    case PS_META_F64:
-        printf("Key Value: %15.3f  ", item->data.F64);
+    case PS_META_PRIMITIVE:
+        switch(metadataItem->pType) {
+        case PS_TYPE_BOOL:
+            printf("Key Value: %15d  ", metadataItem->data.B);
+            break;
+        case PS_TYPE_S32:
+            printf("Key Value: %15d  ", metadataItem->data.S32);
+            break;
+        case PS_TYPE_F32:
+            printf("Key Value: %15.3f  ", metadataItem->data.F32);
+            break;
+        case PS_TYPE_F64:
+            printf("Key Value: %15.3f  ", metadataItem->data.F64);
+            break;
+        default:
+            printf("Bad type: %d ", metadataItem->pType);
+        }
         break;
     case PS_META_STR:
-        printf("Key Value: %15s  ", (char*)item->data.V);
-        break;
-    case PS_META_IMG:
-    case PS_META_JPEG:
-    case PS_META_PNG:
-    case PS_META_ASTROM:
-    case PS_META_UNKNOWN:
-        printf("Value: unknown ");
+        printf("Key Value: %15s  ", (char*)metadataItem->data.V);
         break;
     default:
-        printf("Bad type: %d ", item->type);
-    }
-    printf("Key Comment: %s\n", item->comment);
+        printf("Bad type: %d ", metadataItem->type);
+    }
+    printf("Key Comment: %s\n", metadataItem->comment);
 }
 
@@ -70,6 +73,4 @@
 psS32 main( psS32 argc, char* argv[] )
 {
-    psS64 data;
-    psF32 fpdata;
     psMetadataItem *item1 = NULL;
     psMetadataItem *item2 = NULL;
@@ -80,21 +81,18 @@
     psMetadataItem *item7 = NULL;
     psMetadataItem *item8 = NULL;
-    psMetadataItem *item = NULL;
     psMetadata *metadata = NULL;
     FILE *fd = NULL;
-    char str[7];
-    psList* tmpList = NULL;
 
     // Test A - Allocate metadata and items
     printPositiveTestHeader(stdout, "psMetadata", "Test A - Allocate metadata items");
     metadata = psMetadataAlloc();
-    item1 = psMetadataItemAlloc("myItem1", PS_META_BOOL, "I am a boolean", true);
-    item2 = psMetadataItemAlloc("myItem2", PS_META_S32, "I am a integer", 55);
-    item3 = psMetadataItemAlloc("myItem3", PS_META_BOOL, "I am a boolean", false);
-    item4 = psMetadataItemAlloc("myItem4", PS_META_S32, "I am a integer", 66);
-    item5 = psMetadataItemAlloc("myItem5", PS_META_F32, "I am a float", 3.14);
-    item6 = psMetadataItemAlloc("myItem6", PS_META_F64, "I am a double", 6.28);
-    item7 = psMetadataItemAlloc("myItem7", PS_META_STR, "I am a string", "GNIRTS");
-    item8 = psMetadataItemAlloc("myItem8", PS_META_UNKNOWN, "I am unknown");
+    item1 = psMetadataItemAlloc("myItem1", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", true);
+    item2 = psMetadataItemAlloc("myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 55);
+    item3 = psMetadataItemAlloc("myItem3", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", false);
+    item4 = psMetadataItemAlloc("myItem4", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 66);
+    item5 = psMetadataItemAlloc("myItem5", PS_TYPE_F32, PS_META_PRIMITIVE, "I am a float", 3.14);
+    item6 = psMetadataItemAlloc("myItem6", PS_TYPE_F64, PS_META_PRIMITIVE,"I am a double", 6.28);
+    item7 = psMetadataItemAlloc("myItem7", PS_TYPE_PTR, PS_META_STR, "I am a string", "GNIRTS");
+    item8 = psMetadataItemAlloc("myItem8", PS_TYPE_PTR, PS_META_UNKNOWN, "I am unknown");
     printMetadataItem(item1);
     printMetadataItem(item2);
@@ -107,58 +105,58 @@
     printFooter(stdout, "psMetadata", "Test A - Allocate metadata items", true);
 
-
-    // Test B - Set iterator at second index
-    printPositiveTestHeader(stdout, "psMetadata", "Test B - Set iterator at second index");
-    if ( !psMetadataSetIterator(metadata, 2)) {
-        psError(PS_ERR_UNKNOWN,true,"Failed to set iterator");
-        return 100;
-    }
-    printFooter(stdout, "psMetadata", "Test B - Set iterator at second index", true);
-
-
-    // Test C - Get next item at index
-    printPositiveTestHeader(stdout, "psMetadata", "Test C - Get next item at index");
-    item = psMetadataGetNext(metadata, NULL, 2);
-    if(item == NULL) {
-        printf("ERROR: Item should not be null\n");
-    } else {
-        printf("Found item named %s\n", item->name);
-    }
-    printFooter(stdout, "psMetadata", "Test C - Get next item at index", true);
-
-
-    // Test D - Get next item at index and string
-    printPositiveTestHeader(stdout, "psMetadata", "Test D - Get next item at index and string");
-    item = psMetadataGetNext(metadata, "myItem1", 1);
-    if(item == NULL) {
-        printf("ERROR: Item should not be null\n");
-    } else {
-        printf("Found item named %s\n", item->name);
-    }
-    printFooter(stdout, "psMetadata", "Test D - Get next item at index and string", true);
-
-
-    // Test E - Get previous item at index
-    printPositiveTestHeader(stdout, "psMetadata", "Test E - Get previous item at index");
-    item = psMetadataGetPrevious(metadata, NULL, 1);
-    if(item == NULL) {
-        printf("ERROR: Item should not be null\n");
-    } else {
-        printf("Found item named %s\n", item->name);
-    }
-    if( psMetadataGetPrevious(metadata,"myItem3",1) == NULL) {
-        psError(PS_ERR_UNKNOWN, true,"psMetadataGetPrevious did not return an item from metadata.");
-        return 45;
-    }
-    tmpList = metadata->list;
-    metadata->list = NULL;
-    if ( psMetadataGetPrevious(metadata,NULL,1) != NULL) {
-        psError(PS_ERR_UNKNOWN, true,"psMetadataGetPrevious did not return null for invalid metadata.");
-        return 50;
-    }
-    metadata->list = tmpList;
-    printFooter(stdout, "psMetadata", "Test E - Get previous item at index", true);
-
-
+    /*
+        // Test B - Set iterator at second index
+        printPositiveTestHeader(stdout, "psMetadata", "Test B - Set iterator at second index");
+        if (!psMetadataSetIterator(metadata, 2)) {
+            psError(PS_ERR_UNKNOWN,true,"Failed to set iterator");
+            return 100;
+        }
+        printFooter(stdout, "psMetadata", "Test B - Set iterator at second index", true);
+     
+     
+        // Test C - Get next item at index
+        printPositiveTestHeader(stdout, "psMetadata", "Test C - Get next item at index");
+        item = psMetadataGetNext(metadata, NULL, 2);
+        if(item == NULL) {
+            printf("ERROR: Item should not be null\n");
+        } else {
+            printf("Found item named %s\n", item->name);
+        }
+        printFooter(stdout, "psMetadata", "Test C - Get next item at index", true);
+     
+     
+        // Test D - Get next item at index and string
+        printPositiveTestHeader(stdout, "psMetadata", "Test D - Get next item at index and string");
+        item = psMetadataGetNext(metadata, "myItem1", 1);
+        if(item == NULL) {
+            printf("ERROR: Item should not be null\n");
+        } else {
+            printf("Found item named %s\n", item->name);
+        }
+        printFooter(stdout, "psMetadata", "Test D - Get next item at index and string", true);
+     
+     
+        // Test E - Get previous item at index
+        printPositiveTestHeader(stdout, "psMetadata", "Test E - Get previous item at index");
+        item = psMetadataGetPrevious(metadata, NULL, 1);
+        if(item == NULL) {
+            printf("ERROR: Item should not be null\n");
+        } else {
+            printf("Found item named %s\n", item->name);
+        }
+        if( psMetadataGetPrevious(metadata,"myItem3",1) == NULL) {
+            psError(PS_ERR_UNKNOWN, true,"psMetadataGetPrevious did not return an item from metadata.");
+            return 45;
+        }
+        tmpList = metadata->list;
+        metadata->list = NULL;
+        if ( psMetadataGetPrevious(metadata,NULL,1) != NULL) {
+            psError(PS_ERR_UNKNOWN, true,"psMetadataGetPrevious did not return null for invalid metadata.");
+            return 50;
+        }
+        metadata->list = tmpList;
+        printFooter(stdout, "psMetadata", "Test E - Get previous item at index", true);
+     
+    */
     // Test F - Write metadata item to file
     printPositiveTestHeader(stdout, "psMetadata", "Test F - Write metadata item to file");
@@ -167,11 +165,10 @@
         printf("ERROR: Couldn't open file for writing\n");
     }
-    psMetadataItemPrint(fd, "S32  = %ld\n", item2);
-    psMetadataItemPrint(fd, "BOL  = %ld\n", item3);
-    psMetadataItemPrint(fd, "F32  = %g\n", item5);
-    psMetadataItemPrint(fd, "F64  = %g\n", item6);
-    psMetadataItemPrint(fd, "STR  = %s\n", item7);
-    psMetadataItemPrint(fd, "UNK  = \n", item8);
-    printFooter(stdout, "psMetadata", "Test F - Write metadata item to file", true);
+    psMetadataItemPrint(fd, "S32 = %ld\n", item2);
+    psMetadataItemPrint(fd, "BOL = %ld\n", item3);
+    psMetadataItemPrint(fd, "F32 = %g\n", item5);
+    psMetadataItemPrint(fd, "F64 = %g\n", item6);
+    psMetadataItemPrint(fd, "STR = %s\n", item7);
+    psMetadataItemPrint(fd, "UNK = \n", item8);
     fclose(fd);
     fd = fopen("./tst_psMetadata05_OUT", "r");
@@ -179,68 +176,81 @@
         printf("ERROR: Couldn't open file for reading\n");
     }
-    fscanf(fd, "S64 = %lld\n", &data);
-    if(data != 55) {
-        printf("ERROR: Data in file is not as expected. Value: %lld. Should be: 55.\n", data);
-    }
-    fscanf(fd, "BOL = %lld\n", &data);
-    if(data != 0) {
-        printf("ERROR: Data in file is not as expected. Value: %lld. Should be: 0.\n", data);
-    }
-    fscanf(fd, "F32 = %g\n", &fpdata);
-    if ( (fpdata <= 3.1) || (fpdata >= 3.2) ) {
-        printf("ERROR: Data in file is not as expected. Value: %g. Should be: 3.14.\n", fpdata);
-    }
-    fscanf(fd, "F64 = %g\n", &fpdata);
-    if ( (fpdata <= 6.2) || ( fpdata >= 6.3) ) {
-        printf("ERROR: Data in file is not as expected. Value: %g. Should be: 6.28.\n", fpdata);
-    }
-    fscanf(fd, "STR = %s\n", str);
-    if ( strcmp(str,"GNIRTS") != 0 ) {
-        printf("ERROR: Data is file is not as expected. Value: %s. Should be: GNIRTS.\n", str);
-    }
+
+    char line[256];
+    char truth1[] = "S32 = 55";
+    fgets(line, 256, fd);
+    if(strncmp(line, truth1, 8)) {
+        printf("ERROR: Data in file is not as expected. Value: %s. Should be: %s\n", line, truth1);
+    }
+
+    char truth2[] = "BOL = 0";
+    fgets(line, 256, fd);
+    if(strncmp(line, truth2, 7)) {
+        printf("ERROR: Data in file is not as expected. Value: %s. Should be: %s\n", line, truth2);
+    }
+
+    char truth3[] = "F32 = 3.14";
+    fgets(line, 256, fd);
+    if(strncmp(line, truth3, 10)) {
+        printf("ERROR: Data in file is not as expected. Value: %s. Should be: %s\n", line, truth3);
+    }
+
+    char truth4[] = "F64 = 6.28";
+    fgets(line, 256, fd);
+    if(strncmp(line, truth4, 10)) {
+        printf("ERROR: Data in file is not as expected. Value: %s. Should be: %s\n", line, truth4);
+    }
+
+    char truth5[] = "STR = GNIRTS";
+    fgets(line, 256, fd);
+    if(strncmp(line, truth5, 12)) {
+        printf("ERROR: Data in file is not as expected. Value: %s. Should be: %s\n", line, truth5);
+    }
+
     fclose(fd);
-
-    // Test G - Attempt to use null metadata with setIterator
-    printNegativeTestHeader(stdout,"psMetadata", "Test G - Attempt to use null metadata with setIterator",
-                            "Null metadata collection not allowed", 0);
-    if( psMetadataSetIterator(NULL, 0)) {
-        psError(PS_ERR_UNKNOWN,true,"Set iterator did not detect invalid parameter.");
-        return 101;
-    }
-    tmpList = metadata->list;
-    metadata->list = NULL;
-    if( psMetadataSetIterator(metadata,0)) {
-        psError(PS_ERR_UNKNOWN,true,"Set iterator did not detect null list.");
-        return 102;
-    }
-    metadata->list = tmpList;
-    printFooter(stdout, "psMetadata", "Test G - Attempt to use null metadata with setIterator", true);
-
-
-    // Test H - Attempt to use null metadata with getNext
-    printNegativeTestHeader(stdout,"psMetadata", "Test H - Attempt to use null metadata with getNext",
-                            "Null metadata collection not allowed", 0);
-    if( psMetadataGetNext(NULL, "myItem2", 0) != NULL ) {
-        psError(PS_ERR_UNKNOWN, true,"psMetadataGetNext did not return null for null metadata.");
-        return 40;
-    }
-    tmpList = metadata->list;
-    metadata->list = NULL;
-    if ( psMetadataGetNext(metadata, "myItem2", 0) != NULL ) {
-        psError(PS_ERR_UNKNOWN, true,"psMetadataGetNext did not return null for invalid metadata.");
-        return 41;
-    }
-    metadata->list = tmpList;
-
-    printFooter(stdout, "psMetadata", "Test H - Attempt to use null metadata with getNext", true);
-
-
-    // Test I - Attempt to use null metadata with getPrevious
-    printNegativeTestHeader(stdout,"psMetadata", "Test I - Attempt to use null metadata with getPrevious",
-                            "Null metadata collection not allowed", 0);
-    psMetadataGetPrevious(NULL, "myItem2", 0);
-    printFooter(stdout, "psMetadata", "Test I - Attempt to use null metadata with getPrevious", true);
-
-
+    printFooter(stdout, "psMetadata", "Test F - Write metadata item to file", true);
+    /*
+        // Test G - Attempt to use null metadata with setIterator
+        printNegativeTestHeader(stdout,"psMetadata", "Test G - Attempt to use null metadata with setIterator",
+                                "Null metadata collection not allowed", 0);
+        if( psMetadataSetIterator(NULL, 0)) {
+            psError(PS_ERR_UNKNOWN,true,"Set iterator did not detect invalid parameter.");
+            return 101;
+        }
+        tmpList = metadata->list;
+        metadata->list = NULL;
+        if( psMetadataSetIterator(metadata,0)) {
+            psError(PS_ERR_UNKNOWN,true,"Set iterator did not detect null list.");
+            return 102;
+        }
+        metadata->list = tmpList;
+        printFooter(stdout, "psMetadata", "Test G - Attempt to use null metadata with setIterator", true);
+     
+     
+        // Test H - Attempt to use null metadata with getNext
+        printNegativeTestHeader(stdout,"psMetadata", "Test H - Attempt to use null metadata with getNext",
+                                "Null metadata collection not allowed", 0);
+        if( psMetadataGetNext(NULL, "myItem2", 0) != NULL ) {
+            psError(PS_ERR_UNKNOWN, true,"psMetadataGetNext did not return null for null metadata.");
+            return 40;
+        }
+        tmpList = metadata->list;
+        metadata->list = NULL;
+        if ( psMetadataGetNext(metadata, "myItem2", 0) != NULL ) {
+            psError(PS_ERR_UNKNOWN, true,"psMetadataGetNext did not return null for invalid metadata.");
+            return 41;
+        }
+        metadata->list = tmpList;
+     
+        printFooter(stdout, "psMetadata", "Test H - Attempt to use null metadata with getNext", true);
+     
+     
+        // Test I - Attempt to use null metadata with getPrevious
+        printNegativeTestHeader(stdout,"psMetadata", "Test I - Attempt to use null metadata with getPrevious",
+                                "Null metadata collection not allowed", 0);
+        psMetadataGetPrevious(NULL, "myItem2", 0);
+        printFooter(stdout, "psMetadata", "Test I - Attempt to use null metadata with getPrevious", true);
+     
+    */
     // Test J - Attempt to use null file with itemPrint
     printNegativeTestHeader(stdout,"psMetadata", "Test J - Attempt to use null file with itemPrint",
Index: trunk/psLib/test/astronomy/tst_psMetadata_06.c
===================================================================
--- trunk/psLib/test/astronomy/tst_psMetadata_06.c	(revision 2537)
+++ trunk/psLib/test/astronomy/tst_psMetadata_06.c	(revision 2607)
@@ -13,6 +13,6 @@
 *  @author  Ross Harman, MHPCC
 *
-*  @version $Revision: 1.6 $  $Name: not supported by cvs2svn $
-*  @date  $Date: 2004-11-22 20:54:50 $
+*  @version $Revision: 1.7 $  $Name: not supported by cvs2svn $
+*  @date  $Date: 2004-12-03 23:19:07 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -24,36 +24,39 @@
 #include <string.h>
 
-static void printMetadataItem(psMetadataItem *item)
+static void printMetadataItem(psMetadataItem *metadataItem)
 {
-    printf("Key Name: %8s  ", item->name);
-    printf("Key Type: %2d  ", item->type);
+    printf("Key Name: %8s  ", metadataItem->name);
+    printf("Key pType: %2d  ", metadataItem->pType);
+    printf("Key mdType: %2d  ", metadataItem->type);
 
-    switch (item->type ) {
-    case PS_META_BOOL:
-        printf("Key Value: %15d  ", item->data.B);
+    switch (metadataItem->type) {
+    case PS_META_LIST:
+        printf("Key Value: %17c", ' ');
         break;
-    case PS_META_S32:
-        printf("Key Value: %15d  ", item->data.S32);
-        break;
-    case PS_META_F32:
-        printf("Key Value: %15.3f  ", item->data.F32);
-        break;
-    case PS_META_F64:
-        printf("Key Value: %15.3f  ", item->data.F64);
+    case PS_META_PRIMITIVE:
+        switch(metadataItem->pType) {
+        case PS_TYPE_BOOL:
+            printf("Key Value: %15d  ", metadataItem->data.B);
+            break;
+        case PS_TYPE_S32:
+            printf("Key Value: %15d  ", metadataItem->data.S32);
+            break;
+        case PS_TYPE_F32:
+            printf("Key Value: %15.3f  ", metadataItem->data.F32);
+            break;
+        case PS_TYPE_F64:
+            printf("Key Value: %15.3f  ", metadataItem->data.F64);
+            break;
+        default:
+            printf("Bad type: %d ", metadataItem->pType);
+        }
         break;
     case PS_META_STR:
-        printf("Key Value: %15s  ", (char*)item->data.V);
-        break;
-    case PS_META_IMG:
-    case PS_META_JPEG:
-    case PS_META_PNG:
-    case PS_META_ASTROM:
-    case PS_META_UNKNOWN:
-        printf("Value: unknown ");
+        printf("Key Value: %15s  ", (char*)metadataItem->data.V);
         break;
     default:
-        printf("Bad type: %d ", item->type);
+        printf("Bad type: %d ", metadataItem->type);
     }
-    printf("Key Comment: %s\n", item->comment);
+    printf("Key Comment: %s\n", metadataItem->comment);
 }
 
@@ -71,9 +74,9 @@
     // Test A - Allocate metadata and items
     printPositiveTestHeader(stdout, "psMetadata", "Test A - Allocate metadata and items");
-    item1a = psMetadataItemAlloc("myItem1", PS_META_BOOL, "I am a boolean", true);
-    item1b = psMetadataItemAlloc("myItem1", PS_META_S32, "I am a signed integer", 111);
-    item1c = psMetadataItemAlloc("myItem1", PS_META_S32, "I am a signed integer", 222);
-    item2a = psMetadataItemAlloc("myItem2", PS_META_S32, "I am a signed integer", 333);
-    item2b = psMetadataItemAlloc("myItem2", PS_META_ITEM_SET, "I am a folder node", NULL);
+    item1a = psMetadataItemAlloc("myItem1", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", true);
+    item1b = psMetadataItemAlloc("myItem1", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a signed integer", 111);
+    item1c = psMetadataItemAlloc("myItem1", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a signed integer", 222);
+    item2a = psMetadataItemAlloc("myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a signed integer", 333);
+    item2b = psMetadataItemAlloc("myItem2", PS_TYPE_PTR, PS_META_LIST, "I am a folder node", NULL);
     metadata = psMetadataAlloc();
     printMetadataItem(item1a);
@@ -87,9 +90,9 @@
     // Test B - Add leaf node on top of existing leaf node
     printPositiveTestHeader(stdout, "psMetadata", "Test B - Add leaf node on top of existing leaf node");
-    if( ! psMetadataAddItem(metadata, item1a, PS_LIST_HEAD) ) {
+    if(!psMetadataAddItem(metadata, item1a, PS_LIST_HEAD)) {
         psError(PS_ERR_UNKNOWN, true,"psMetadataAddItem returned false for adding a node top.");
         return 20;
     }
-    if ( ! psMetadataAddItem(metadata, item1b, PS_LIST_HEAD) ) {
+    if (!psMetadataAddItem(metadata, item1b, PS_LIST_HEAD)) {
         psError(PS_ERR_UNKNOWN, true,"psMetadataAddItem returned false for adding a node top.");
         return 21;
@@ -101,5 +104,5 @@
     // Test C - Add leaf node to existing folder node
     printPositiveTestHeader(stdout, "psMetadata", "Test C - Add leaf node to existing folder node");
-    if ( ! psMetadataAddItem(metadata, item1c, PS_LIST_HEAD) ) {
+    if (!psMetadataAddItem(metadata, item1c, PS_LIST_HEAD)) {
         psError(PS_ERR_UNKNOWN, true,"psMetadataAddItem return false for adding a not to existing node.");
         return 22;
@@ -110,9 +113,9 @@
     // Test D - Add folder node on top of existing leaf node
     printPositiveTestHeader(stdout, "psMetadata", "Test D - Add folder node on top of existing leaf node");
-    if ( ! psMetadataAddItem(metadata, item2a, PS_LIST_HEAD) ) {
+    if (!psMetadataAddItem(metadata, item2a, PS_LIST_HEAD)) {
         psError(PS_ERR_UNKNOWN, true,"psMetadataAddItem returned false for adding a node to existing leaf node.");
         return 23;
     }
-    if ( ! psMetadataAddItem(metadata, item2b, PS_LIST_HEAD) ) {
+    if (!psMetadataAddItem(metadata, item2b, PS_LIST_HEAD)) {
         psError(PS_ERR_UNKNOWN, true,"psMetadataAddItem returned false for adding a nod to existing leaf node.");
         return 24;
