--- parser3/src/main/pa_pool.C 2002/01/14 17:48:57 1.49 +++ parser3/src/main/pa_pool.C 2003/02/21 10:55:44 1.59.2.5 @@ -1,79 +1,17 @@ /** @file - Parser: pool class. + Parser: pool class implementation. - Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) - Author: Alexander Petrosyan (http://paf.design.ru) - - $Id: pa_pool.C,v 1.49 2002/01/14 17:48:57 paf Exp $ + Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com) + Author: Alexandr Petrosian (http://paf.design.ru) */ +static const char* IDENT_POOL_C="$Date: 2003/02/21 10:55:44 $"; + #include "pa_pool.h" -#include "pa_exception.h" +#include "pa_types.h" #include "pa_common.h" -#include "pa_sapi.h" -#include "pa_charset.h" - -Pool::Pool(void *astorage) : - fstorage(astorage), fcontext(0), - ftotal_allocated(0), ftotal_times(0), - source_charset(0), client_charset(0) - { -} - -void Pool::fail_alloc(size_t size) const { - SAPI::die("out of pool memory: failed to allocate %u bytes; " - "already allocated on pool: %u bytes in %u times", - size, - ftotal_allocated, ftotal_times); -} - -void Pool::fail_register_cleanup() const { - SAPI::die("failed to register cleanup"); -} - -void Pool::set_source_charset(Charset& acharset) { - source_charset=&acharset; -} -Charset& Pool::get_source_charset() { - if(!source_charset) - throw Exception(0, 0, - 0, - "no source charset defined yet"); - return *source_charset; -} - -void Pool::set_client_charset(Charset& acharset) { - client_charset=&acharset; -} -Charset& Pool::get_client_charset() { - if(!client_charset) - throw Exception(0, 0, - 0, - "no client charset defined yet"); - return *client_charset; -} - -#ifdef XML - -const char *Pool::transcode_cstr(xmlChar *s) { - return get_source_charset().transcode_cstr(s); -} - -String& Pool::transcode(xmlChar *s) { - return get_source_charset().transcode(s); -} - -const char *Pool::transcode_cstr(GdomeDOMString *s) { - return get_source_charset().transcode_cstr(s); -} - -String& Pool::transcode(GdomeDOMString *s) { - return get_source_charset().transcode(s); -} - -GdomeDOMString_auto_ptr Pool::transcode(const String& s) { - return get_source_charset().transcode(s); -} - -#endif +char* Pool::format_integer(int value) { + char local[MAX_NUMBER]; + return copy(local, snprintf(local, MAX_NUMBER, "%d", value)+1/*for terminating 0*/); +};