rem: return (wchar)soap_int_code(html_entity_codes, tmp, 127);
add: return (soap_wchar)soap_int_code(html_entity_codes, tmp, SOAP_UNKNOWN_CHAR);
context: soap_char(struct soap *soap){ char tmp[8];  register int i;  register wchar c;  register char *s = tmp;  for (i = 0; i < 7; i++)  { c = soap_get1(soap);    if (c == ';' || (int)c == EOF)      break;    *s++ = (char)c;  }  *s = '\0';  if (*tmp == '#')  { if (tmp[1] == 'x' || tmp[1] == 'X')      return soap_strtol(tmp + 2, NULL, 16);    return atol(tmp + 1);  }  if (!strcmp(tmp, "lt"))    return '<';  if (!strcmp(tmp, "gt"))    return '>';  if (!strcmp(tmp, "amp"))    return '&';  if (!strcmp(tmp, "quot"))    return '"';  if (!strcmp(tmp, "apos"))    return '\'';#ifndef WITH_LEAN  return (wchar)soap_int_code(html_entity_codes, tmp, 127);#else  return SOAP_UNKNOWN_CHAR; /* use this to represent unknown code */#endif}