IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 9848


Ignore:
Timestamp:
Nov 3, 2006, 2:20:10 PM (20 years ago)
Author:
drobbin
Message:

Removed a couple unreachable spots from psMetadataConfig in parseMetadataItem. Added error check to parseVector for invalid values (was looping indefinitely for ie, % or NAN). Updated tests accordingly

Location:
trunk/psLib
Files:
3 edited

Legend:

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

    r9846 r9848  
    1010*  @author Eric Van Alst, MHPCC
    1111*
    12 *  @version $Revision: 1.105 $ $Name: not supported by cvs2svn $
    13 *  @date $Date: 2006-11-03 20:20:38 $
     12*  @version $Revision: 1.106 $ $Name: not supported by cvs2svn $
     13*  @date $Date: 2006-11-04 00:20:09 $
    1414*
    1515*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    365365    saveValue = inString;
    366366    while(*inString!='\0') {
    367         strtod(inString, &end);
     367        double check = strtod(inString, &end);
     368        if (isnan(check) || check < DBL_EPSILON) {  //make sure inString contains valid #'s
     369            if ( strncmp(inString, "0", 1) != 0 || strncmp(inString, " 0", 2) != 0
     370                    || isnan(check)) {
     371                *status = 1;
     372                return NULL;
     373            }
     374        }
    368375        /*        if(inString==end) {
    369376                    *status = 1;
     
    625632        // Point to first item in template
    626633        iter = psListIteratorAlloc(template->
    627                                    list,PS_LIST_HEAD,true);
     634                                   list, PS_LIST_HEAD, true);
    628635        // For each item in template parse line string for values
    629636        for(psS32 i = 0;
     
    633640            templateItem = psListGetAndIncrement(iter)
    634641                           ;
    635             if(templateItem == NULL) {
    636                 psFree(md);
    637                 psFree(iter);
    638                 md = NULL;
    639                 break;
    640             }
     642            /*            if(templateItem == NULL) {
     643                            psFree(md);
     644                            psFree(iter);
     645                            md = NULL;
     646                            break;
     647                        }
     648            */
    641649            // Get the next token on the line
    642             token = getToken(&linePtr," ",&status,false);
     650            token = getToken(&linePtr, " ", &status, false);
    643651            if(token != NULL) {
    644652                // Allocate metadata item
    645                 mdItem = psMetadataItemAllocStr(templateItem->name,templateItem->comment,token);
    646                 if(mdItem == NULL) {
    647                     psFree(md);
    648                     md = NULL;
    649                     psFree(token);
    650                     psFree(iter);
    651                     break;
    652                 }
    653                 // Add item to metadata
    654                 if(!psMetadataAddItem(md, mdItem, PS_LIST_TAIL, PS_META_DEFAULT)) {
    655                     psFree(md);
    656                     md = NULL;
    657                     psFree(mdItem);
    658                     psFree(token);
    659                     psFree(iter);
    660                     break;
    661                 }
     653                mdItem = psMetadataItemAllocStr(templateItem->name,
     654                                                templateItem->comment, token);
     655                /*                if(mdItem == NULL) {
     656                                    psFree(md);
     657                                    md = NULL;
     658                                    psFree(token);
     659                                    psFree(iter);
     660                                    break;
     661                                }
     662                 
     663                                // Add item to metadata
     664                                if(!psMetadataAddItem(md, mdItem, PS_LIST_TAIL, PS_META_DEFAULT)) {
     665                                    psFree(md);
     666                                    md = NULL;
     667                                    psFree(mdItem);
     668                                    psFree(token);
     669                                    psFree(iter);
     670                                    break;
     671                                }
     672                */
     673                psMetadataAddItem(md, mdItem, PS_LIST_TAIL, PS_META_DEFAULT);
    662674                psFree(mdItem);
    663675            } else {
     
    833845        status = 0;
    834846        strValue = getToken(&linePtr, "#", &status,true);
    835         if(status) {
    836             psError(PS_ERR_IO, true,
    837                     _("Failed to read a metadata %s on line %u."), "value", lineCount);
    838             psFree(strType);
    839             psFree(strValue);
    840             return false;
    841         }
     847        /*
     848                if(status) {
     849                    psError(PS_ERR_IO, true,
     850                            _("Failed to read a metadata %s on line %u."), "value", lineCount);
     851                    psFree(strType);
     852                    psFree(strValue);
     853                    return false;
     854                }
     855        */
    842856        if(strValue==NULL) {
    843857            psError(PS_ERR_IO, true,
     
    850864        status = 0;
    851865        strComment = getToken(&linePtr,"~", &status,true);
    852         if(status) {
    853             psError(PS_ERR_IO, true,
    854                     _("Failed to read a metadata %s on line %u."), "comment", lineCount);
    855             psFree(strType);
    856             psFree(strValue);
    857             psFree(strComment);
    858         }
     866        /*
     867                if(status) {
     868                    psError(PS_ERR_IO, true,
     869                            _("Failed to read a metadata %s on line %u."), "comment", lineCount);
     870                    psFree(strType);
     871                    psFree(strValue);
     872                    psFree(strComment);
     873                }
     874        */
    859875    }
    860876
  • trunk/psLib/test/types/metaconf.in

    r9846 r9848  
    77item5            STR       GNIRTS           # I am a string
    88item6            S32       10 1
     9item6-1          S32       ~
    910item7            S64       555
    1011item8            S8        3
    1112item8            S8        5
     13item8-1          S8        5 1
    1214itemu1           U16       2
     15itemu1-1         U16       2 1
    1316itemu2           U32       55
    1417itemu2-1         U32       55 1
     18itemu3-1         U8        1 2
    1519itemu3           U8        1
    1620itemu4           U64       1634
    1721item9            BOOL      F                # I am a boolean2
    1822item10           S16       16
     23item10-1         S16       16 16
    1924@vector1  S8  1 2 3 4 5   # I am a vector
     25@vector1-1 S8 % #
    2026@vector2  S16 1 2 3 4 5
    2127@vector3  S32 1 2 3 4 5
     
    3541f32              S32       666              # f32_1
    3642f32              S32       665              # f32_2
    37 
    38 
     43f32 MULTI
    3944
    4045f32 METADATA
     
    6065END  # I am a metadata
    6166
    62 #item1-1          BOOL      TRUTH
    63 #item11           C32       16+2i            # I am Complex
    6467     TYPE  C32  3
    6568     TYPE  C32  3
    6669     TYPE PS_TYPE_C32 2                 #
    67 newC32 C32 7i+5
    68 newC32 PS_TYPE_C32 7i+5
     70newC32      C32 7i+5
     71newC32      PS_TYPE_C32 7i+5
     72#item11           C32       16+2i            # I am Complex
     73
     74TYPE PS_TYPE_DD D
     75newDD   PS_TYPE_DD
     76DD2     PS_TYPE_DD   ""
     77
    6978TYPE            1
    7079TYPE
  • trunk/psLib/test/types/tap_psMetadataConfig_input.c

    r9846 r9848  
    241241            printf("\n\n name=%s\n", tempItem->name);
    242242    }
    243 
    244 
    245243    //Check for Memory leaks
    246244    {
Note: See TracChangeset for help on using the changeset viewer.