--- parser3/src/main/pa_charsets.C 2003/01/28 11:46:45 1.11.2.3 +++ parser3/src/main/pa_charsets.C 2003/03/06 08:21:09 1.11.2.10 @@ -1,38 +1,43 @@ /** @file Parser: sql driver manager implementation. - Copyright (c) 2001, 2003 ArtLebedev Group (http://www.artlebedev.com) + Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char* IDENT_CHARSETS_C="$Date: 2003/01/28 11:46:45 $"; +static const char* IDENT_CHARSETS_C="$Date: 2003/03/06 08:21:09 $"; #include "pa_charsets.h" -// statics +// defines for globals + +#define CHARSET_UTF8_NAME "UTF-8" // globals +CharsetPtr UTF8_charset(new Charset(StringPtr(new String(CHARSET_UTF8_NAME)), + StringPtr(0)/*no file=system*/)); + Charsets charsets; -// +// methods Charsets::Charsets() { put(UTF8_charset->name(), UTF8_charset); } -CharsetPtr Charsets::get(ConstStringPtr aname) { +Charset& Charsets::get(StringPtr aname) { if(CharsetPtr result=Hash::get(aname)) - return result; + return *result.get(); else throw Exception("parser.runtime", aname, "unknown charset"); } -void Charsets::load_charset(ConstStringPtr arequest_name, ConstStringPtr arequest_file_spec) { +void Charsets::load_charset(StringPtr arequest_name, StringPtr arequest_file_spec) { //we know that charset? - if(get(arequest_name)) + if(Hash::get(arequest_name)) return; // don't load it then // make global_name string on cache_pool pool