Annotation of parser3/src/targets/cgi/pa_pool.C, revision 1.41
1.4 paf 1: /** @file
2: Parser: CGI memory manager impl.
3:
1.41 ! paf 4: Copyright (c) 2001, 2003 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.41 ! paf 8: static const char* IDENT_POOL_C="$Date: 2002/08/01 11:41:20 $";
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: