IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 7933


Ignore:
Timestamp:
Jul 18, 2006, 11:53:25 AM (20 years ago)
Author:
drobbin
Message:

Edited parseBool to only accept valid boolean values. Edited psMetadataItemTransfer and added test. Not finished testing yet...

Location:
trunk/psLib
Files:
4 edited

Legend:

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

    r7918 r7933  
    1212 *  @author Ross Harman, MHPCC
    1313 *
    14  *  @version $Revision: 1.118 $ $Name: not supported by cvs2svn $
    15  *  @date $Date: 2006-07-17 22:41:38 $
     14 *  @version $Revision: 1.119 $ $Name: not supported by cvs2svn $
     15 *  @date $Date: 2006-07-18 21:53:25 $
    1616 *
    1717 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    465465
    466466// may need to extend this to change the keyname in the copy
    467 bool psMetadataItemTransfer(psMetadata *out, const psMetadata *in, const char *key)
    468 {
     467psMetadata *psMetadataItemTransfer(psMetadata *out, const psMetadata *in, const char *key)
     468{
     469    PS_ASSERT_PTR_NON_NULL(in, NULL);
     470    if (key == NULL) {
     471        psError(PS_ERR_BAD_PARAMETER_NULL, true,
     472                "psMetadataItemTransfer:  'key' cannot be NULL.\n");
     473        return NULL;
     474    }
    469475
    470476    psMetadataItem *item = psMetadataLookup(in, key);
    471477    if (!item) {
    472         return false;
    473     }
    474 
    475     return psMetadataAddItem(out, item, PS_LIST_TAIL, PS_META_REPLACE);
     478        return NULL;
     479    }
     480    if (out == NULL) {
     481        out = psMetadataAlloc();
     482    }
     483    if (!psMetadataAddItem(out, item, PS_LIST_HEAD, PS_META_DEFAULT) ) {
     484        psFree(out);
     485        return NULL;
     486    }
     487
     488    return out;
    476489}
    477490
  • trunk/psLib/src/types/psMetadata.h

    r7699 r7933  
    1111*  @author Ross Harman, MHPCC
    1212*
    13 *  @version $Revision: 1.81 $ $Name: not supported by cvs2svn $
    14 *  @date $Date: 2006-06-27 03:42:01 $
     13*  @version $Revision: 1.82 $ $Name: not supported by cvs2svn $
     14*  @date $Date: 2006-07-18 21:53:25 $
    1515*
    1616*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    400400 *  @return bool:       True if successful, otherwise false.
    401401 */
    402 bool psMetadataItemTransfer(
     402psMetadata *psMetadataItemTransfer(
    403403    psMetadata *out,                   ///< output Metadata container for copying.
    404404    const psMetadata *in,              ///< Metadata collection from which to copy.
  • trunk/psLib/src/types/psMetadataConfig.c

    r7915 r7933  
    1010*  @author Eric Van Alst, MHPCC
    1111*
    12 *  @version $Revision: 1.65 $ $Name: not supported by cvs2svn $
    13 *  @date $Date: 2006-07-15 03:29:05 $
     12*  @version $Revision: 1.66 $ $Name: not supported by cvs2svn $
     13*  @date $Date: 2006-07-18 21:53:25 $
    1414*
    1515*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    279279
    280280
    281     if(*inString=='T' || *inString=='t' || *inString=='1') {
     281    /*    if(*inString=='T' || *inString=='t' || *inString=='1') {
     282            value = true;
     283        } else if(*inString=='F' || *inString=='f' || *inString=='0') {
     284            value = false;
     285        } else {
     286            *status = 1;
     287        }
     288    */
     289    if ( !strncmp(inString, "T", 2) || !strncmp(inString, "t", 2) ||
     290            !strncmp(inString, "1", 2) || !strncmp(inString, "TRUE", 5) ||
     291            !strncmp(inString, "true", 5) || !strncmp(inString, "True", 5)) {
    282292        value = true;
    283     } else if(*inString=='F' || *inString=='f' || *inString=='0') {
     293    } else if ( !strncmp(inString, "F", 2) || !strncmp(inString, "f", 2) ||
     294                !strncmp(inString, "0", 2) || !strncmp(inString, "FALSE", 6) ||
     295                !strncmp(inString, "false", 6) || !strncmp(inString, "False", 6) ) {
    284296        value = false;
    285297    } else {
  • trunk/psLib/test/types/tst_psMetadata_01.c

    r7472 r7933  
    55*  @author  dRob, MHPCC
    66*
    7 *  @version $Revision: 1.8 $  $Name: not supported by cvs2svn $
    8 *  @date  $Date: 2006-06-10 02:28:17 $
     7*  @version $Revision: 1.9 $  $Name: not supported by cvs2svn $
     8*  @date  $Date: 2006-07-18 21:53:25 $
    99*
    1010*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    1717
    1818static psS32 testMetadataItemCopy(void);
     19static psS32 testMetadataItemTransfer(void);
    1920static psS32 testMetadataPrint(void);
    2021
    2122testDescription tests[] = {
    2223                              {testMetadataItemCopy, 666, "psMetadataItemCopy()", 0, false},
     24                              {testMetadataItemTransfer, 1, "psMetadataItemTransfer()", 0, false},
    2325                              {testMetadataPrint,667,"psMetadataPrint",0,false},
    2426                              {NULL}
     
    9395    psFree(metadata);
    9496    psFree(item);
     97    return 0;
     98}
     99
     100psS32 testMetadataItemTransfer(void)
     101{
     102    //    psMetadataItem *item = psMetadataItemAlloc("metaITEM", PS_DATA_S32, "no Comment");
     103    //    item->data.S32 = 666;
     104    //    psMetadataItem *item2 = NULL;
     105    psMetadata *md = psMetadataAlloc();
     106    //    psMetadata *md2 = psMetadataAlloc();
     107    psMetadata *out = NULL;
     108    //    out = psMetadataAlloc();
     109    //  psMetadataAddItem(md, item, PS_LIST_HEAD, PS_META_DEFAULT);
     110    psMetadataAddS32(md, PS_LIST_HEAD, "metaITEM", 0, "no Comment", 666);
     111
     112    //attempt transfer to NULL metadata.
     113    out = psMetadataItemTransfer(out, md, "metaITEM");
     114    if ( out == NULL) {
     115        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
     116                "psMetadataItemTransfer failed to correctly allocate metadata and transfer item.\n");
     117        return 1;
     118    }
     119    psFree(out);
     120    /*    //attempt to transfer using a NULL key.
     121        psLogMsg(__func__,PS_LOG_INFO,"Following should generate error message");
     122        if (psMetadataItemTransfer(mdNULL, md, NULL)) {
     123            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
     124                    "psMetadataItemTransfer failed to return false for NULL key input.\n");
     125            return 2;
     126        }
     127        if (mdNULL != NULL) printf("\nERROR HERE\n");
     128        //attempt to transfer using an allocated metadata and valid key
     129        if (!psMetadataItemTransfer(md2, md, "metaITEM") ){
     130            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
     131                    "psMetadataItemTransfer failed to correctly transfer item.\n");
     132            return 3;
     133        }
     134    */
     135    //    item2 = psMetadataGet(md2, PS_LIST_HEAD);
     136    /*    item2 = psMetadataLookup(md2, "metaITEM");
     137        if (item2->data.S32 != 666 || strncmp(item2->comment, "no Comment", 20)) {
     138            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
     139                    "psMetadataItemTransfer failed to correctly transfer item data.\n");
     140            return 4;
     141        }
     142      */
     143    psFree(md);
     144    //    psFree(md2);
     145    //    psFree(item);
     146    //    psFree(item2);
     147    //    psFree(mdNULL);
     148
    95149    return 0;
    96150}
Note: See TracChangeset for help on using the changeset viewer.