IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 7816


Ignore:
Timestamp:
Jul 5, 2006, 12:34:38 PM (20 years ago)
Author:
Paul Price
Message:

Adding PS_ASSERT_ARRAY macros.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/types/psArray.h

    r6500 r7816  
    1111 *  @author Ross Harman, MHPCC
    1212 *
    13  *  @version $Revision: 1.36 $ $Name: not supported by cvs2svn $
    14  *  @date $Date: 2006-02-28 02:53:03 $
     13 *  @version $Revision: 1.37 $ $Name: not supported by cvs2svn $
     14 *  @date $Date: 2006-07-05 22:34:38 $
    1515 *
    1616 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    168168);
    169169
     170
     171// Some assertions
     172
     173#define PS_ASSERT_ARRAY_NON_NULL(NAME, RETURNVAL) PS_ASSERT_GENERAL_ARRAY_NON_NULL(NAME, return RETURNVAL)
     174#define PS_ASSERT_GENERAL_ARRAY_NON_NULL(NAME, CLEANUP) \
     175if ((NAME) == NULL || (NAME)->data == NULL) { \
     176    psError(PS_ERR_BAD_PARAMETER_NULL, true, \
     177            "Unallowable operation: psArray %s or its data is NULL.", \
     178            #NAME); \
     179    CLEANUP; \
     180} \
     181
     182#define PS_ASSERT_ARRAY_NON_EMPTY(NAME, RETURNVAL) PS_ASSERT_GENERAL_ARRAY_NON_EMPTY(NAME, return RETURNVAL)
     183#define PS_ASSERT_GENERAL_ARRAY_NON_EMPTY(NAME, CLEANUP) \
     184if ((NAME)->n < 1) { \
     185    psError(PS_ERR_BAD_PARAMETER_SIZE, true, \
     186            "Unallowable operation: psArray %s has no elements.", \
     187            #NAME); \
     188    CLEANUP; \
     189} \
     190
     191
     192
    170193/// @}
    171194
Note: See TracChangeset for help on using the changeset viewer.