IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 3346


Ignore:
Timestamp:
Mar 1, 2005, 7:14:42 AM (21 years ago)
Author:
eugene
Message:

added CHECK_REALLOCATE

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/libohana/include/ohana.h

    r2413 r3346  
    7676# ifndef ALLOCATE
    7777# define ALLOCATE(X,T,S)  \
    78   X=(T *)malloc((unsigned) (MAX(((S)*sizeof(T)),1)));\
    79   if(X==NULL) \
    80     { \
    81       fprintf(stderr,"failed to malloc X\n");\
    82         exit (10);\
    83     }
     78  X = (T *) malloc ((unsigned) (MAX(((S)*sizeof(T)),1)));\
     79  if (X == NULL) { \
     80    fprintf(stderr,"failed malloc at __LINE__ in __FILE__\n");\
     81    exit (10); }
    8482# define REALLOCATE(X,T,S) \
    85   X=(T *)realloc(X,(unsigned) (MAX(((S)*sizeof(T)),1))); \
    86   if(X==NULL) \
    87     { \
    88        fprintf(stderr,"failed to realloc X\n"); \
    89        exit (10); \
    90     }
     83  X = (T *) realloc(X,(unsigned) (MAX(((S)*sizeof(T)),1))); \
     84  if (X == NULL) { \
     85    fprintf(stderr,"failed realloc at __LINE__ in __FILE__\n"); \
     86    exit (10); }
     87# define CHECK_REALLOCATE(X,T,S,N,D) \
     88  if ((N) >= (S)) { \
     89    S += D; \
     90    X = (T *) realloc (X,(unsigned) (MAX(((S)*sizeof(T)),1))); \
     91    if (X == NULL) { \
     92      fprintf(stderr,"failed to realloc X __LINE__ in __FILE__\n"); \
     93      exit (10); } }
    9194# endif /* ALLOCATE */
    9295
Note: See TracChangeset for help on using the changeset viewer.