IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 9720


Ignore:
Timestamp:
Oct 23, 2006, 3:15:47 PM (20 years ago)
Author:
drobbin
Message:

Edited psMetadataCopy and relevant tests. Removed the psFree(out)'s as requested. Minor doxygen changes to the psMetadataConfig's.

Location:
trunk/psLib
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/types/psMetadata.c

    r9665 r9720  
    1212 *  @author Ross Harman, MHPCC
    1313 *
    14  *  @version $Revision: 1.143 $ $Name: not supported by cvs2svn $
    15  *  @date $Date: 2006-10-20 00:17:21 $
     14 *  @version $Revision: 1.144 $ $Name: not supported by cvs2svn $
     15 *  @date $Date: 2006-10-24 01:15:47 $
    1616 *
    1717 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    417417    if (in == NULL) {
    418418        psError(PS_ERR_BAD_PARAMETER_NULL, true, "psMetadataCopy: 'in' cannot be NULL");
    419         psFree(out);
    420419        return NULL;
    421420    }
     
    424423    if (in->list == NULL) {
    425424        psError(PS_ERR_BAD_PARAMETER_NULL, true, "psMetadataCopy: 'in' has NULL list");
    426         psFree(out);
    427         return NULL;
    428     }
    429 
     425        return NULL;
     426    }
     427    bool outAlloced = false;
    430428    if (out ==  NULL) {
    431429        out = psMetadataAlloc();
     430        outAlloced = true;
    432431    }
    433432    psMetadataIterator *iter = psMetadataIteratorAlloc(in, PS_LIST_HEAD, NULL);
     
    450449            psFree(newItem);
    451450            psFree(iter);
    452             psFree(out);
     451            if (outAlloced) {
     452                psFree(out);
     453            }
    453454            return NULL;
    454455        }
     
    507508    psMetadataItem *existingEntry = NULL;
    508509
    509     PS_ASSERT_PTR_NON_NULL(md,NULL);
    510     PS_ASSERT_PTR_NON_NULL(md->hash,NULL);
    511     PS_ASSERT_PTR_NON_NULL(md->list,NULL);
    512     PS_ASSERT_PTR_NON_NULL(item,NULL);
    513     PS_ASSERT_PTR_NON_NULL(item->name,NULL);
     510    PS_ASSERT_PTR_NON_NULL(md,false);
     511    PS_ASSERT_PTR_NON_NULL(md->hash,false);
     512    PS_ASSERT_PTR_NON_NULL(md->list,false);
     513    PS_ASSERT_PTR_NON_NULL(item,false);
     514    PS_ASSERT_PTR_NON_NULL(item->name,false);
    514515
    515516    mdTable = md->hash;
  • trunk/psLib/src/types/psMetadataConfig.c

    r9543 r9720  
    1 /** @file  psMetadataIO.c
     1/** @file  psMetadataConfig.c
    22*
    33*  @brief Contains metadata input/output functions.
     
    1010*  @author Eric Van Alst, MHPCC
    1111*
    12 *  @version $Revision: 1.94 $ $Name: not supported by cvs2svn $
    13 *  @date $Date: 2006-10-13 22:25:45 $
     12*  @version $Revision: 1.95 $ $Name: not supported by cvs2svn $
     13*  @date $Date: 2006-10-24 01:15:47 $
    1414*
    1515*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
  • trunk/psLib/src/types/psMetadataConfig.h

    r8794 r9720  
    1010 *  @author Robert DeSonia, MHPCC
    1111 *
    12  *  @version $Revision: 1.23 $ $Name: not supported by cvs2svn $
    13  *  @date $Date: 2006-09-12 04:18:56 $
     12 *  @version $Revision: 1.24 $ $Name: not supported by cvs2svn $
     13 *  @date $Date: 2006-10-24 01:15:47 $
    1414 *
    1515 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    1717#ifndef PS_METADATACONFIG_H
    1818#define PS_METADATACONFIG_H
     19
     20#include "psMetadata.h"
    1921
    2022/// @addtogroup Metadata
  • trunk/psLib/test/types/tap_psMetadata_copying.c

    r8995 r9720  
    2323int main(void)
    2424{
    25     plan_tests(35);
     25    plan_tests(34);
    2626
    2727    diag("psMetadataCopy and psMetadataItemCopy tests");
     
    4242    psMetadataItem *outItem = NULL;
    4343    psMetadataItem *inItem = NULL;
     44    psMetadata *outTest = NULL;
    4445
    4546    //Return NULL for NULL psMetadata input
    4647    {
    47         ok( psMetadataCopy(out, NULL) == NULL,
     48        outTest = psMetadataCopy(out, NULL);
     49        ok( outTest == NULL,
    4850            "psMetadataCopy:  return NULL for NULL input metadata.");
    4951    }
    50     //Return NULL for NULL psMetadata input (with allocated out)
     52    //Return allocated out for NULL psMetadata input (with allocated out)
    5153    {
    5254        out = psMetadataAlloc();
    53         out = psMetadataCopy(out, NULL);
    54         ok( out == NULL,
    55             "psMetadataCopy:  return NULL for NULL input metadata.");
     55        outTest = psMetadataCopy(out, NULL);
     56        ok( outTest == NULL,
     57            "psMetadataCopy:  return out for NULL input metadata.");
     58        psFree(out);
     59        out = NULL;
    5660    }
    5761    //Return NULL for attempt to copy item of unsupported data type
     
    6064        psMetadataAddS32(in, PS_LIST_HEAD, "S32", 0, "", 1);
    6165        psMetadataItem *notype = psMetadataGet(in, PS_LIST_HEAD);
    62         notype->type = PS_DATA_METADATA_MULTI + 1000;
    63         out = psMetadataCopy(out, in);
    64         ok( out == NULL,
     66        //        notype->type = PS_DATA_METADATA_MULTI + 1000;
     67        notype->type = -1;
     68        psFree(outTest);
     69        outTest = NULL;
     70        outTest = psMetadataCopy(out, in);
     71        ok( outTest == NULL,
    6572            "psMetadataCopy:  return NULL for metadata with item of bad type.");
    6673        notype->type = PS_DATA_S32;
    6774        psFree(in);
    6875        in = NULL;
    69         if (out != NULL)
    70         {
    71             psFree(out);
    72             out = NULL;
    73         }
     76        psFree(out);
     77        out = NULL;
    7478    }
    7579
     
    8185    }
    8286    {
    83         ok( psMetadataCopy(out, in) == NULL,
     87        outTest = psMetadataCopy(out, in);
     88        ok( outTest == NULL,
    8489            "psMetadataCopy:  return NULL for NULL metadata input->list.");
    8590    }
    86     //Return NULL for NULL psMetadata input->list (with allocated out)
    87     {
    88         out = psMetadataAlloc();
    89         out = psMetadataCopy(out, in);
    90         ok( out == NULL,
    91             "psMetadataCopy:  return NULL for NULL metadata input->list.");
    92     }
     91    /*    //Return NULL for NULL psMetadata input->list (with allocated out)
     92        {
     93            out = psMetadataAlloc();
     94            out = psMetadataCopy(out, in);
     95            ok( out == NULL,
     96                "psMetadataCopy:  return NULL for NULL metadata input->list.");
     97        }
     98    */
    9399    //Return valid (but empty) metadata for NULL out input and empty input metadata.
    94100    in->list = psListAlloc(NULL);
    95101    psFree(in);
    96102    in = psMetadataAlloc();
    97     out = psMetadataCopy(out, in);
     103    if (out != NULL) {
     104        psFree(out);
     105        out = NULL;
     106    }
     107    outTest = psMetadataCopy(out, in);
    98108    tempItem = psMetadataGet(in, PS_LIST_HEAD);
    99109    {
    100         ok( out != NULL && tempItem == NULL,
     110        ok( outTest != NULL && tempItem == NULL,
    101111            "psMetadataCopy:  return empty copy with no items for empty input metadata.");
     112        psFree(out);
     113        psFree(outTest);
     114        out = NULL;
     115        outTest = NULL;
    102116    }
    103117
     
    105119    psMetadataAddS32(in, PS_LIST_HEAD, "S32", 0, "", 1);
    106120    psMetadataAddS32(in, PS_LIST_TAIL, "S32", PS_META_DUPLICATE_OK, "", 1);
    107     out = psMetadataCopy(out, in);
    108     tempItem = psMetadataGet(out, PS_LIST_HEAD);
     121    outTest = psMetadataCopy(out, in);
     122    tempItem = psMetadataGet(outTest, PS_LIST_HEAD);
    109123    {
    110124        ok( tempItem->type == PS_DATA_S32 && tempItem->data.S32 == 1,
    111125            "psMetadataCopy:  return valid copy for a PS_DATA_METADATA_MULTI entry.");
     126        psFree(outTest);
     127        outTest = NULL;
    112128    }
    113129
     
    121137    in = psMetadataAlloc();
    122138    psMetadataAddS32(in, PS_LIST_HEAD, "S32", 0, "", 666);
    123     out = psMetadataCopy(out, in);
    124     outItem = psMetadataGet(out, PS_LIST_HEAD);
     139    outTest = psMetadataCopy(out, in);
     140    outItem = psMetadataGet(outTest, PS_LIST_HEAD);
    125141    inItem = psMetadataGet(in, PS_LIST_HEAD);
    126142    {
     
    129145            "psMetadataCopy:  return valid copy of metadata with 1 S32 entry.");
    130146    }
     147    psFree(outTest);
    131148    //Check for Memory Leaks
    132149    {
Note: See TracChangeset for help on using the changeset viewer.