Annotation of parser3/src/types/pa_venv.C, revision 1.10
1.2 paf 1: /** @file
2: Parser: @b env class.
3:
1.5 misha 4: Copyright(c) 2001-2009 ArtLebedev Group (http://www.artlebedev.com)
1.2 paf 5: Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
6: */
7:
1.10 ! misha 8: static const char * const IDENT="$Date: 2009-05-14 08:10:09 $";
1.2 paf 9:
10: #include "pa_venv.h"
11: #include "pa_vstring.h"
12: #include "pa_version.h"
13:
1.4 misha 14: #define PARSER_VERSION_ELEMENT_NAME "PARSER_VERSION"
15:
1.2 paf 16: static const String parser_version(PARSER_VERSION);
17:
18: Value* VEnv::get_element(const String& aname, Value& /*aself*/, bool /*looking_up*/) {
1.6 misha 19: // $env:CLASS
1.5 misha 20: if(aname==CLASS_NAME)
21: return this;
22:
1.6 misha 23: // $env:CLASS_NAME
1.5 misha 24: if(aname==CLASS_NAMETEXT)
25: return new VString(env_class_name);
26:
1.2 paf 27: // $env:PARSER_VERSION
1.4 misha 28: if(aname==PARSER_VERSION_ELEMENT_NAME)
1.2 paf 29: return new VString(parser_version);
30:
1.6 misha 31: // $env:field
1.7 misha 32: if(const char* value=SAPI::get_env(finfo, aname.cstr())){
1.10 ! misha 33: return new VString(*new String(strdup(value, strlen(value)), String::L_TAINTED));
1.7 misha 34: }
1.6 misha 35:
36: return 0;
1.3 paf 37: }
E-mail: