Index: trunk/psLib/src/fits/psFitsHeader.c
===================================================================
--- trunk/psLib/src/fits/psFitsHeader.c	(revision 11977)
+++ trunk/psLib/src/fits/psFitsHeader.c	(revision 14417)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.32 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-02-21 21:39:26 $
+ *  @version $Revision: 1.33 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-08-07 00:16:21 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -107,6 +107,5 @@
         case 'X': // bit
         case 'B': // byte
-            success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_S8 | dupFlag, keyComment,
-                                    atoi(keyValue));
+            success = psMetadataAddS8(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, atoi(keyValue));
             break;
         case 'I': // short int.
@@ -114,30 +113,23 @@
             // Trap NAN, INF and -INF, which cfitsio doesn't handle.
             if (strncasecmp(keyValue, "NAN", 3) == 0) {
-                success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_F32 | dupFlag, keyComment,
-                                        (psF32)NAN);
+                success = psMetadataAddF32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, NAN);
             } else if (strncasecmp(keyValue, "INF", 3) == 0) {
-                success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_F32 | dupFlag, keyComment,
-                                        (psF32)INFINITY);
+                success = psMetadataAddF32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, INFINITY);
             } else if (strncasecmp(keyValue, "-INF", 4) == 0) {
-                success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_F32 | dupFlag, keyComment,
-                                        (psF32)-INFINITY);
+                success = psMetadataAddF32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, -INFINITY);
             } else {
-                success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_S32 | dupFlag, keyComment,
-                                        atoi(keyValue));
+                success = psMetadataAddS32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, atoi(keyValue));
             }
             break;
         case 'J': // int.
-            success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_S32 | dupFlag, keyComment,
-                                    atoi(keyValue));
+            success = psMetadataAddS32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, atoi(keyValue));
             break;
         case 'U': // unsigned int.
-            success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_U32 | dupFlag, keyComment,
-                                    atol(keyValue));
+            success = psMetadataAddU32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, atol(keyValue));
             break;
 
         case 'K': // long int. can't all fit in a psS32, put in psF64
         case 'F':
-            success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_F64 | dupFlag, keyComment,
-                                    atof(keyValue));
+            success = psMetadataAddF64(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, atof(keyValue));
             break;
         case 'C': {
@@ -160,15 +152,12 @@
                 // cfitsio won't write these, so we write them as strings, and then have to trap them on read.
                 if (strcasecmp(keyValueFixed, "NAN") == 0) {
-                    success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_F32 | dupFlag, keyComment,
-                                            (psF32)NAN);
+                    success = psMetadataAddF32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, NAN);
                 } else if (strcasecmp(keyValueFixed, "INF") == 0) {
-                    success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_F32 | dupFlag, keyComment,
-                                            (psF32)INFINITY);
+                    success = psMetadataAddF32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, INFINITY);
                 } else if (strcasecmp(keyValueFixed, "-INF") == 0) {
-                    success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_F32 | dupFlag, keyComment,
-                                            (psF32)-INFINITY);
+                    success = psMetadataAddF32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, -INFINITY);
                 } else {
-                    success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_STRING | dupFlag, keyComment,
-                                            keyValueFixed);
+                    success = psMetadataAddStr(out, PS_LIST_TAIL, keyName, dupFlag, keyComment,
+                                               keyValueFixed);
                 }
                 break;
@@ -176,5 +165,5 @@
         case 'L': {
                 bool temp = (keyValue[0] == 'T') ? 1 : 0;
-                success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_BOOL | dupFlag, keyComment, temp);
+                success = psMetadataAddBool(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, temp);
                 break;
             }
