IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 9, 2004, 4:50:16 PM (22 years ago)
Author:
desonia
Message:

Changed psList API for iterators, etc.

Location:
trunk/psLib/src/astronomy
Files:
2 edited

Legend:

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

    r2659 r2681  
    1212*  @author Ross Harman, MHPCC
    1313*
    14 *  @version $Revision: 1.42 $ $Name: not supported by cvs2svn $
    15 *  @date $Date: 2004-12-07 23:27:25 $
     14*  @version $Revision: 1.43 $ $Name: not supported by cvs2svn $
     15*  @date $Date: 2004-12-10 02:50:14 $
    1616*
    1717*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    352352{
    353353    psList* mdList = NULL;
    354     psList* entryList = NULL;
    355354    psHash* mdTable = NULL;
    356355    psMetadataItem* entry = NULL;
    357     psMetadataItem* entryChild = NULL;
    358356
    359357
     
    375373        }
    376374
    377         if (entry->type == PS_META_LIST) {
    378 
    379             // Table entry has children. Entry and children must be removed from metadata collection's list
    380             psListSetIterator(entryList, PS_LIST_HEAD);
    381             entryChild = psListGetCurrent(entryList);
    382             while(entryChild != NULL) {
    383                 if (!psListRemove(mdList, PS_LIST_UNKNOWN, entryChild)) {
    384                     psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_LIST_FAILED, key);
    385                     return false;
    386                 }
    387                 entryChild = psListGetNext(entryList);
    388             }
    389         } else {
    390 
    391             // Table entry has no children. Remove entry from metadata collection's list
    392             if (!psListRemove(mdList, PS_LIST_UNKNOWN, entry)) {
    393                 psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_LIST_FAILED, key);
    394                 return false;
    395             }
    396         }
    397         // Remove entry from metadata collection's table
    398         if (!psHashRemove(mdTable, key)) {
    399             psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_TABLE_FAILED, key);
    400             return false;
    401         }
    402375    } else {
    403376
     
    414387            return false;
    415388        }
    416         // Use recursive remove, now that key is known
    417         psMetadataRemove(md, PS_LIST_UNKNOWN, key);
     389    }
     390
     391    if (!psListRemoveData(mdList, entry)) {
     392        psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_LIST_FAILED, key);
     393        return false;
     394    }
     395
     396    // Remove entry from metadata collection's table
     397    if (!psHashRemove(mdTable, key)) {
     398        psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_TABLE_FAILED, key);
     399        return false;
    418400    }
    419401
  • trunk/psLib/src/astronomy/psMetadataIO.c

    r2637 r2681  
    99*  @author Ross Harman, MHPCC
    1010*
    11 *  @version $Revision: 1.15 $ $Name: not supported by cvs2svn $
    12 *  @date $Date: 2004-12-06 19:59:57 $
     11*  @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
     12*  @date $Date: 2004-12-10 02:50:14 $
    1313*
    1414*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    1919#include <string.h>
    2020#include <ctype.h>
     21#include <limits.h>
    2122
    2223#include "psAbort.h"
     
    598599                if(metadataItem->type!=PS_META_LIST) {
    599600                    if(overwrite) {
    600                         psMetadataRemove(md, PS_LIST_UNKNOWN, strName);
     601                        psMetadataRemove(md, INT_MIN, strName);
    601602                    } else {
    602603                        (*nFail)++;
     
    790791    PS_PTR_CHECK_NULL_GENERAL(metadataItem, return);
    791792    PS_PTR_CHECK_NULL_GENERAL(metadataItem->data.list, return);
    792     psListSetIterator(metadataItem->data.list, PS_LIST_TAIL);
    793     metadataItem = (psMetadataItem*)psListGetCurrent(metadataItem->data.list);
     793    metadataItem = (psMetadataItem*)psListGet(metadataItem->data.list,PS_LIST_TAIL);
    794794    htAtts = (psHash*)metadataItem->data.list;
    795795    PS_PTR_CHECK_NULL_GENERAL(htAtts, return);
     
    848848            if(metadataItem->type != PS_META_LIST) {
    849849                if(overwrite) {
    850                     psMetadataRemove(md, PS_LIST_UNKNOWN, strName);
     850                    psMetadataRemove(md, INT_MIN, strName);
    851851                } else {
    852852                    psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_OVERWRITE_ITEM, strName, lineNumber,
     
    943943    PS_PTR_CHECK_NULL_GENERAL(tables, return);
    944944    PS_PTR_CHECK_NULL_GENERAL(tables->data.list, return);
    945     psListSetIterator(tables->data.list, PS_LIST_TAIL);
    946     table = (psMetadataItem*)psListGetCurrent(tables->data.list);
     945    table = (psMetadataItem*)psListGet(tables->data.list,PS_LIST_TAIL);
    947946    htAtts = (psHash*)table->data.list;
    948947    PS_PTR_CHECK_NULL_GENERAL(htAtts, return);
     
    10021001            if(metadataItem->type != PS_META_LIST) {
    10031002                if(overwrite) {
    1004                     psMetadataRemove(md, PS_LIST_UNKNOWN, strName);
     1003                    psMetadataRemove(md, INT_MIN, strName);
    10051004                } else {
    10061005                    psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_OVERWRITE_ITEM, strName, lineNumber,
     
    10451044    PS_PTR_CHECK_NULL_GENERAL(tables, return);
    10461045    PS_PTR_CHECK_NULL_GENERAL(tables->data.list, return);
    1047     psListSetIterator(tables->data.list, PS_LIST_TAIL);
    1048     table = (psMetadataItem*)psListGetCurrent(tables->data.list);
     1046    table = (psMetadataItem*)psListGet(tables->data.list,PS_LIST_TAIL);
    10491047    htAtts = (psHash*)table->data.list;
    10501048    PS_PTR_CHECK_NULL_GENERAL(htAtts, return);
     
    10701068
    10711069    // Free temporary metadata item and its hash table
    1072     psListRemove(tables->data.list, PS_LIST_TAIL, table);
     1070    psListRemove(tables->data.list, PS_LIST_TAIL);
    10731071
    10741072    psFree(psEndTagName);
Note: See TracChangeset for help on using the changeset viewer.