Index: /trunk/psLib/src/astro/psEarthOrientation.c
===================================================================
--- /trunk/psLib/src/astro/psEarthOrientation.c	(revision 5518)
+++ /trunk/psLib/src/astro/psEarthOrientation.c	(revision 5519)
@@ -8,6 +8,6 @@
 *  @author Robert Daniel DeSonia, MHPCC
 *
-*  @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-11-14 23:44:35 $
+*  @version $Revision: 1.14 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2005-11-15 22:19:29 $
 *
 *  Copyright 2005 Maui High Performance Computing Center, University of Hawaii
@@ -86,5 +86,5 @@
     bool success = false;
     // Get table format
-    char* tableFormat = psMetadataLookupPtr(&success, eocMetadata, "psLib.eoc.precession.table.format");
+    char* tableFormat = psMetadataLookupStr(&success, eocMetadata, "psLib.eoc.precession.table.format");
     if(! success || tableFormat == NULL) {
         psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psTime_LOOKUP_METADATA_FAILED,
@@ -93,6 +93,7 @@
     }
 
-    char* xTableName = psMetadataLookupPtr(&success, eocMetadata, "psLib.eoc.precession.table.file.x");
+    char* xTableName = psMetadataLookupStr(&success, eocMetadata, "psLib.eoc.precession.table.file.x");
     if(! success || xTableName == NULL) {
+        psFree(tableFormat);
         psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psTime_LOOKUP_METADATA_FAILED,
                 "psLib.eoc.precession.x.file");
@@ -100,6 +101,8 @@
     }
 
-    char* yTableName = psMetadataLookupPtr(&success, eocMetadata, "psLib.eoc.precession.table.file.y");
+    char* yTableName = psMetadataLookupStr(&success, eocMetadata, "psLib.eoc.precession.table.file.y");
     if(! success || yTableName == NULL) {
+        psFree(tableFormat);
+        psFree(xTableName);
         psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psTime_LOOKUP_METADATA_FAILED,
                 "psLib.eoc.precession.y.file");
@@ -107,6 +110,9 @@
     }
 
-    char* sTableName = psMetadataLookupPtr(&success, eocMetadata, "psLib.eoc.precession.table.file.s");
+    char* sTableName = psMetadataLookupStr(&success, eocMetadata, "psLib.eoc.precession.table.file.s");
     if(! success || sTableName == NULL) {
+        psFree(tableFormat);
+        psFree(xTableName);
+        psFree(yTableName);
         psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psTime_LOOKUP_METADATA_FAILED,
                 "psLib.eoc.precession.s.file");
@@ -116,4 +122,9 @@
     yTable = psVectorsReadFromFile(yTableName, tableFormat);
     sTable = psVectorsReadFromFile(sTableName, tableFormat);
+    psFree(tableFormat);
+    psFree(xTableName);
+    psFree(yTableName);
+    psFree(sTableName);
+
     if(xTable == NULL || yTable == NULL || sTable == NULL) {
         // XXX: need to move the error message to the error messages file.
@@ -131,4 +142,5 @@
     psVector* yCoeff = psMetadataLookupPtr(&success, eocMetadata, "psLib.eoc.precession.poly.y");
     if(! success || yCoeff == NULL || yCoeff->type.type != PS_TYPE_F64) {
+        psFree(xCoeff);
         psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psTime_LOOKUP_METADATA_FAILED,
                 "psLib.eoc.precession.poly.y");
@@ -137,4 +149,6 @@
     psVector* sCoeff = psMetadataLookupPtr(&success, eocMetadata, "psLib.eoc.precession.poly.s");
     if(! success || sCoeff == NULL || sCoeff->type.type != PS_TYPE_F64) {
+        psFree(xCoeff);
+        psFree(yCoeff);
         psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psTime_LOOKUP_METADATA_FAILED,
                 "psLib.eoc.precession.poly.s");
@@ -147,4 +161,8 @@
     sPoly = psPolynomial1DAlloc(sCoeff->n, PS_POLYNOMIAL_ORD);
     memcpy(sPoly->coeff, sCoeff->data.F64,PSELEMTYPE_SIZEOF(PS_TYPE_F64)*sCoeff->n);
+
+    psFree(xCoeff);
+    psFree(yCoeff);
+    psFree(sCoeff);
 
     return true;
Index: /trunk/psLib/src/fits/psFitsTable.c
===================================================================
--- /trunk/psLib/src/fits/psFitsTable.c	(revision 5518)
+++ /trunk/psLib/src/fits/psFitsTable.c	(revision 5519)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-11-14 22:18:30 $
+ *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-11-15 22:20:13 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -699,9 +699,9 @@
     }
 
-    char* extname = NULL;
+    psString extname = NULL;
     if (header != NULL) {
-        extname = psMetadataLookupPtr(NULL, header, "EXTNAME");
+        extname = psMetadataLookupStr(NULL, header, "EXTNAME");
         if ( extname == NULL) {
-            extname = psMetadataLookupPtr(NULL, header, "HDUNAME");
+            extname = psMetadataLookupStr(NULL, header, "HDUNAME");
         }
     }
@@ -719,4 +719,5 @@
     psFree(columnNames);
     psFree(columnTypes);
+    psFree(extname);
 
     // fill in the table elements with data
@@ -747,8 +748,7 @@
             psArray* colArray = psArrayAlloc(table->n);
             for (row = 0; row < table->n; row++) {
-                colArray->data[row] = psMemIncrRefCounter(
-                                          psMetadataLookupStr(NULL,
-                                                              table->data[row],
-                                                              item->name));
+                colArray->data[row] =psMetadataLookupStr(NULL,
+                                     table->data[row],
+                                     item->name);
             }
             fits_write_col_str(fits->fd,
Index: /trunk/psLib/src/types/psMetadata.c
===================================================================
--- /trunk/psLib/src/types/psMetadata.c	(revision 5518)
+++ /trunk/psLib/src/types/psMetadata.c	(revision 5519)
@@ -12,6 +12,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.89 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-11-15 20:10:32 $
+ *  @version $Revision: 1.90 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-11-15 22:20:14 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -613,5 +613,5 @@
         return NULL;
     } else {
-        return metadataItem->data.V;
+        return psMemIncrRefCounter(metadataItem->data.V);
     }
 }
@@ -831,6 +831,6 @@
 }
 
-psMetadata *psMetadataLookupMD(bool *status, const
-                               psMetadata *md,
+psMetadata *psMetadataLookupMD(bool *status,
+                               const psMetadata *md,
                                const char *key)
 {
@@ -857,5 +857,5 @@
             *status = true;
         }
-        value = item->data.md; // The requested metadata
+        value = psMemIncrRefCounter(item->data.md); // The requested metadata
     }
     return value;
@@ -890,5 +890,4 @@
             *status = true;
         }
-        //        value = item->data.V; // The requested metadata
         value = psStringNCopy(item->data.V, strlen(item->data.V) );
     }
Index: /trunk/psLib/test/fits/tst_psFits.c
===================================================================
--- /trunk/psLib/test/fits/tst_psFits.c	(revision 5518)
+++ /trunk/psLib/test/fits/tst_psFits.c	(revision 5519)
@@ -6,6 +6,6 @@
 *  @author Robert DeSonia, MHPCC
 *
-*  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-11-14 22:18:38 $
+*  @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2005-11-15 22:20:16 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -738,5 +738,5 @@
         psF64 dblItem = psMetadataLookupF64(NULL,header, "MYDBL");
         psMetadataItem* boolItem = psMetadataLookup(header, "MYBOOL");
-        char* strItem = psMetadataLookupPtr(NULL, header, "MYSTR");
+        psString strItem = psMetadataLookupStr(NULL, header, "MYSTR");
 
         if (intItem != hdunum) {
@@ -773,4 +773,6 @@
             return 24;
         }
+
+        psFree(strItem);
 
         psFree(header);
@@ -858,4 +860,5 @@
         }
 
+        psFree(header);
     }
 
@@ -902,4 +905,5 @@
         }
 
+        psFree(header);
     }
 
@@ -1013,4 +1017,7 @@
             return 26;
         }
+
+        psFree(strItem);
+        psFree(vecItem);
     }
 
Index: /trunk/psLib/test/types/tst_psMetadata_04.c
===================================================================
--- /trunk/psLib/test/types/tst_psMetadata_04.c	(revision 5518)
+++ /trunk/psLib/test/types/tst_psMetadata_04.c	(revision 5519)
@@ -25,6 +25,6 @@
 *  @author  Ross Harman, MHPCC
 *
-*  @version $Revision: 1.7 $  $Name: not supported by cvs2svn $
-*  @date  $Date: 2005-10-29 00:05:53 $
+*  @version $Revision: 1.8 $  $Name: not supported by cvs2svn $
+*  @date  $Date: 2005-11-15 22:20:17 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -197,6 +197,5 @@
     // Test I - Lookup metadata item and return psVector pointer
     printPositiveTestHeader(stdout, "psMetadata", "Test I - Lookup metadata item and return psVector pointer");
-    psVector *valueVec = NULL;
-    valueVec = psMetadataLookupPtr(&status, metadata, "myItem6");
+    psVector *valueVec = psMetadataLookupPtr(&status, metadata, "myItem6");
     if(valueVec != vec) {
         printf("ERROR: Bad vector pointer\n");
@@ -206,4 +205,5 @@
         return 17;
     }
+    psFree(valueVec);
     printFooter(stdout, "psMetadata", "Test I - Lookup metadata item and return psVector pointer", true);
 
@@ -303,4 +303,5 @@
         return 24;
     }
+    psFree(valueVec);
     printFooter(stdout, "psMetadata","Test P - Attempt get psVector value of non-existant metadata item",true);
 
Index: /trunk/psLib/test/types/tst_psMetadata_07.c
===================================================================
--- /trunk/psLib/test/types/tst_psMetadata_07.c	(revision 5518)
+++ /trunk/psLib/test/types/tst_psMetadata_07.c	(revision 5519)
@@ -14,6 +14,6 @@
 *  @author  David Robbins, MHPCC
 *
-*  @version $Revision: 1.13 $  $Name: not supported by cvs2svn $
-*  @date  $Date: 2005-10-12 21:52:52 $
+*  @version $Revision: 1.14 $  $Name: not supported by cvs2svn $
+*  @date  $Date: 2005-11-15 22:20:17 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -219,4 +219,5 @@
     psFree(item);
     psFree(vecptr);
+    psFree(vecptr2);
     psFree(md);
     return 0;
