Diff for /parser3/src/include/pa_array.h between versions 1.76 and 1.78

version 1.76, 2009/04/29 03:26:38 version 1.78, 2009/04/30 04:40:30
Line 80  public: Line 80  public:
                 fallocated(initial),                  fallocated(initial),
                 fused(0)                  fused(0)
         {          {
                 felements=fallocated?static_cast<T*>(malloc(fallocated*sizeof(T))):0;                  felements=fallocated?(T *)pa_malloc(fallocated*sizeof(T)):0;
         }          }
   
 #ifdef USE_DESTRUCTORS   #ifdef USE_DESTRUCTORS 
         inline ~Array(){          inline ~Array(){
                 if(felements)                  if(felements)
                         free(felements);                          pa_free(felements);
         }          }
 #endif  #endif
   
Line 207  protected: Line 207  protected:
         void expand(size_t delta) {          void expand(size_t delta) {
                 if(fallocated){                  if(fallocated){
                         size_t new_allocated=fallocated+delta;                          size_t new_allocated=fallocated+delta;
                         felements = (T *)realloc(felements, new_allocated*sizeof(T));                          felements=(T *)pa_realloc(felements, new_allocated*sizeof(T));
                         memset(&felements[fallocated], 0, delta*sizeof(T));  
                         fallocated=new_allocated;                          fallocated=new_allocated;
                 } else {                  } else {
                         fallocated=delta;                          fallocated=delta;
                         felements=static_cast<T*>(malloc(fallocated*sizeof(T)));                          felements=(T *)pa_malloc(fallocated*sizeof(T));
                 }                  }
         }          }
   

Removed from v.1.76  
changed lines
  Added in v.1.78


E-mail: