rem: soap_attr_value(struct soap *soap, const char *name) { register struct soap_attribute *tp = soap_attr(soap, name);
add: soap_attr_value(struct soap *soap, const char *name, int flag) { register struct soap_attribute *tp; for (tp = soap->attributes; tp; tp = tp->next) if (!soap_match_tag(soap, tp->name, name)) break;
context: soap_attr_value(struct soap *soap, const char *name){ register struct soap_attribute *tp = soap_attr(soap, name);  if (tp && tp->visible == 2)    return tp->value;  return NULL;}