+ else if (!strcmp((const char *) ptr->name, "env"))
+ {
+ std::string name, value;
+
+ const struct _xmlAttr *attr;
+ for (attr = ptr->properties; attr; attr = attr->next)
+ {
+ if (!strcmp((const char *) attr->name, "name"))
+ name = mp::xml::get_text(attr->children);
+ else if (!strcmp((const char *) attr->name, "value"))
+ value = mp::xml::get_text(attr->children);
+ else
+ throw mp::filter::FilterException
+ ("Bad attribute "
+ + std::string((const char *) attr->name)
+ + " in cgi section");
+ }
+ if (name.length() > 0)
+ m_p->env_map[name] = value;
+ }