Annotation of parser3/src/targets/cgi/pa_pool.C, revision 1.39

1.4       paf         1: /** @file
                      2:        Parser: CGI memory manager impl.
                      3: 
1.35      paf         4:        Copyright (c) 2001, 2002 ArtLebedev Group (http://www.artlebedev.com)
1.36      paf         5:        Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
1.39    ! paf         6: */
1.4       paf         7: 
1.39    ! paf         8: static const char* IDENT_POOL_C="$Id: zzz $";
1.1       paf         9: 
                     10: #include "pa_pool.h"
1.24      parser     11: #include "pool_storage.h"
1.1       paf        12: 
1.38      paf        13: //#define DEBUG_STRING_APPENDS_VS_EXPANDS
1.37      paf        14: 
                     15: #ifdef DEBUG_STRING_APPENDS_VS_EXPANDS
                     16: unsigned long total_alloc_size=0;
                     17: #endif
                     18: 
1.25      paf        19: void *Pool::real_malloc(size_t size, int place) {
1.37      paf        20: #ifdef DEBUG_STRING_APPENDS_VS_EXPANDS
                     21:        total_alloc_size+=size;
                     22: #endif
                     23: 
1.33      paf        24:        return fstorage?
                     25:                static_cast<Pool_storage *>(fstorage)->malloc(size): ::malloc(size);
1.1       paf        26: }
                     27: 
                     28: void *Pool::real_calloc(size_t size) {
1.37      paf        29: #ifdef DEBUG_STRING_APPENDS_VS_EXPANDS
                     30:        total_alloc_size+=size;
                     31: #endif
                     32: 
1.33      paf        33:        return fstorage?
                     34:                static_cast<Pool_storage *>(fstorage)->calloc(size): ::calloc(size, 1);
1.1       paf        35: }
1.18      parser     36: 
1.20      parser     37: bool Pool::real_register_cleanup(void (*cleanup) (void *), void *data) {
1.24      parser     38:        return fstorage!=0 && static_cast<Pool_storage *>(fstorage)->register_cleanup(cleanup, data);
1.34      paf        39: }

E-mail: