IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 9848 for trunk/psLib/src/types


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

File:
1 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
Note: See TracChangeset for help on using the changeset viewer.