IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 14417


Ignore:
Timestamp:
Aug 6, 2007, 2:16:21 PM (19 years ago)
Author:
Paul Price
Message:

Avoiding use of psMetadataAdd(), to avoid endian bugs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/fits/psFitsHeader.c

    r11977 r14417  
    77 *  @author Robert DeSonia, MHPCC
    88 *
    9  *  @version $Revision: 1.32 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2007-02-21 21:39:26 $
     9 *  @version $Revision: 1.33 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2007-08-07 00:16:21 $
    1111 *
    1212 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    107107        case 'X': // bit
    108108        case 'B': // byte
    109             success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_S8 | dupFlag, keyComment,
    110                                     atoi(keyValue));
     109            success = psMetadataAddS8(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, atoi(keyValue));
    111110            break;
    112111        case 'I': // short int.
     
    114113            // Trap NAN, INF and -INF, which cfitsio doesn't handle.
    115114            if (strncasecmp(keyValue, "NAN", 3) == 0) {
    116                 success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_F32 | dupFlag, keyComment,
    117                                         (psF32)NAN);
     115                success = psMetadataAddF32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, NAN);
    118116            } else if (strncasecmp(keyValue, "INF", 3) == 0) {
    119                 success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_F32 | dupFlag, keyComment,
    120                                         (psF32)INFINITY);
     117                success = psMetadataAddF32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, INFINITY);
    121118            } else if (strncasecmp(keyValue, "-INF", 4) == 0) {
    122                 success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_F32 | dupFlag, keyComment,
    123                                         (psF32)-INFINITY);
     119                success = psMetadataAddF32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, -INFINITY);
    124120            } else {
    125                 success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_S32 | dupFlag, keyComment,
    126                                         atoi(keyValue));
     121                success = psMetadataAddS32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, atoi(keyValue));
    127122            }
    128123            break;
    129124        case 'J': // int.
    130             success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_S32 | dupFlag, keyComment,
    131                                     atoi(keyValue));
     125            success = psMetadataAddS32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, atoi(keyValue));
    132126            break;
    133127        case 'U': // unsigned int.
    134             success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_U32 | dupFlag, keyComment,
    135                                     atol(keyValue));
     128            success = psMetadataAddU32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, atol(keyValue));
    136129            break;
    137130
    138131        case 'K': // long int. can't all fit in a psS32, put in psF64
    139132        case 'F':
    140             success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_F64 | dupFlag, keyComment,
    141                                     atof(keyValue));
     133            success = psMetadataAddF64(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, atof(keyValue));
    142134            break;
    143135        case 'C': {
     
    160152                // cfitsio won't write these, so we write them as strings, and then have to trap them on read.
    161153                if (strcasecmp(keyValueFixed, "NAN") == 0) {
    162                     success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_F32 | dupFlag, keyComment,
    163                                             (psF32)NAN);
     154                    success = psMetadataAddF32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, NAN);
    164155                } else if (strcasecmp(keyValueFixed, "INF") == 0) {
    165                     success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_F32 | dupFlag, keyComment,
    166                                             (psF32)INFINITY);
     156                    success = psMetadataAddF32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, INFINITY);
    167157                } else if (strcasecmp(keyValueFixed, "-INF") == 0) {
    168                     success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_F32 | dupFlag, keyComment,
    169                                             (psF32)-INFINITY);
     158                    success = psMetadataAddF32(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, -INFINITY);
    170159                } else {
    171                     success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_STRING | dupFlag, keyComment,
    172                                             keyValueFixed);
     160                    success = psMetadataAddStr(out, PS_LIST_TAIL, keyName, dupFlag, keyComment,
     161                                               keyValueFixed);
    173162                }
    174163                break;
     
    176165        case 'L': {
    177166                bool temp = (keyValue[0] == 'T') ? 1 : 0;
    178                 success = psMetadataAdd(out, PS_LIST_TAIL, keyName, PS_DATA_BOOL | dupFlag, keyComment, temp);
     167                success = psMetadataAddBool(out, PS_LIST_TAIL, keyName, dupFlag, keyComment, temp);
    179168                break;
    180169            }
Note: See TracChangeset for help on using the changeset viewer.