Index: trunk/psLib/src/astro/psEarthOrientation.c
===================================================================
--- trunk/psLib/src/astro/psEarthOrientation.c	(revision 5513)
+++ 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;
