IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 13, 2005, 5:47:35 PM (20 years ago)
Author:
Paul Price
Message:

Upgrading for psLib-0.9.0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/archive/scripts/src/phase2/psAdditionals.c

    r5651 r5786  
    55
    66
    7 psMetadata *psMetadataCopy(psMetadata *out,
    8                            const psMetadata *in)
     7psMetadata *pap_psMetadataCopy(psMetadata *out,
     8                               const psMetadata *in)
    99{
    1010    PS_ASSERT_PTR_NON_NULL(in,NULL);
     
    2020        // Need to look for MULTI, which won't be picked up using the iterator.
    2121        psMetadataItem *multiCheckItem = psMetadataLookup(in, inItem->name);
    22         int multiFlag = 0;              // Flag to indicate MULTI or not
     22        unsigned int flag = PS_META_REPLACE; // Flag to indicate MULTI; otherwise, replace
    2323        if (multiCheckItem->type == PS_DATA_METADATA_MULTI) {
    24             multiFlag = PS_DATA_METADATA_MULTI;
    25         }
     24            psTrace(__func__, 10, "MULTI: %s (%s)\n", inItem->name, inItem->comment);
     25            flag = PS_DATA_METADATA_MULTI;
     26        }
     27
     28        psTrace(__func__, 5, "Copying %s (%s)...\n", inItem->name, inItem->comment);
    2629
    2730#define PS_METADATA_COPY_CASE(NAME,TYPE) \
    2831          case PS_TYPE_##NAME: \
    29             psMetadataAdd(out, PS_LIST_TAIL, inItem->name, PS_TYPE_##NAME | multiFlag, inItem->comment, \
    30                           inItem->data.TYPE); \
     32            if (! psMetadataAdd(out, PS_LIST_TAIL, inItem->name, PS_TYPE_##NAME | flag, inItem->comment, \
     33                                inItem->data.TYPE)) { \
     34                psErrorStackPrint(stderr, "Error copying %s (%s) in the metadata\n", inItem->name, \
     35                                  inItem->comment); \
     36            } \
    3137            break;
    3238
     
    3440            // Numerical types
    3541            PS_METADATA_COPY_CASE(BOOL,B);
    36             PS_METADATA_COPY_CASE(S8, S8);
    37             PS_METADATA_COPY_CASE(S16, S16);
    38             PS_METADATA_COPY_CASE(S32, S32);
    39             PS_METADATA_COPY_CASE(U8, U8);
    40             PS_METADATA_COPY_CASE(U16, U16);
    41             PS_METADATA_COPY_CASE(U32, U32);
    42             PS_METADATA_COPY_CASE(F32, F32);
    43             PS_METADATA_COPY_CASE(F64, F64);
     42            PS_METADATA_COPY_CASE(S8,S8);
     43            PS_METADATA_COPY_CASE(S16,S16);
     44            PS_METADATA_COPY_CASE(S32,S32);
     45            PS_METADATA_COPY_CASE(U8,U8);
     46            PS_METADATA_COPY_CASE(U16,U16);
     47            PS_METADATA_COPY_CASE(U32,U32);
     48            PS_METADATA_COPY_CASE(F32,F32);
     49            PS_METADATA_COPY_CASE(F64,F64);
    4450
    4551            // String: relying on the fact that this will copy the string, not point at it.
    4652          case PS_DATA_STRING:
    47             psMetadataAdd(out, PS_LIST_TAIL, inItem->name, PS_DATA_STRING | multiFlag, inItem->comment,
     53            psMetadataAdd(out, PS_LIST_TAIL, inItem->name, PS_DATA_STRING | flag, inItem->comment,
    4854                          inItem->data.V);
    4955            break;
     
    5258          case PS_DATA_METADATA:
    5359            {
    54                 psMetadata *metadata = psMetadataCopy(NULL, inItem->data.md);
    55                 psMetadataAdd(out, PS_LIST_TAIL, inItem->name, PS_DATA_METADATA | multiFlag, inItem->comment,
     60                psMetadata *metadata = pap_psMetadataCopy(NULL, inItem->data.md);
     61                psMetadataAdd(out, PS_LIST_TAIL, inItem->name, PS_DATA_METADATA | flag, inItem->comment,
    5662                              metadata);
    5763                break;
     
    6066          default:
    6167            numPointers++;
    62             psMetadataItemAlloc(inItem->name, inItem->type, inItem->comment, inItem->data.V);
     68            psTrace(__func__, 10, "Copying a pointer in the metadata: %x\n", inItem->type);
     69            psMetadataAdd(out, PS_LIST_TAIL, inItem->name, inItem->type | flag, inItem->comment,
     70                          inItem->data.V);
    6371            break;
    6472        }
     
    6876    if (numPointers > 0) {
    6977        psLogMsg(__func__, PS_LOG_WARN, "Forced to copy %d pointers when copying metadata.  Updating the "
    70                  "copied psMetadata will affect the original!\n");
     78                 "copied psMetadata will affect the original!\n", numPointers);
    7179    }
    7280
Note: See TracChangeset for help on using the changeset viewer.