rem: { if (soap_send_raw(soap, s, t - s - 1) || soap_pututf8(soap, (unsigned char)c))
add: { char S[2]; S[0] = c; S[1] = 0; if (soap_send_raw(soap, s, t - s - 1) || soap_send(soap, S) )
context: soap_string_out(struct soap *soap, const char *s, int flag){ register const char *t;  register wchar c;  register wchar mask = 0x80000000;#ifdef WITH_DOM  if ((soap->mode & SOAP_XML_DOM) && soap->dom)  { soap->dom->data = soap_strdup(soap, s); /* check EOM */    return SOAP_OK;  }#endif  if (soap->mode & SOAP_C_UTFSTRING)    mask = 0;  t = s;  while ((c = *t++))  { switch (c)    {    case 9:      if (flag)      { if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&#x9;", 5))	  return soap->error;        s = t;      }      break;    case 10:      if (flag || !(soap->mode & SOAP_XML_CANONICAL))      { if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&#xA;", 5))	  return soap->error;        s = t;      }      break;    case 13:      if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&#xD;", 5))        return soap->error;      s = t;      break;    case '&':      if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&amp;", 5))        return soap->error;      s = t;      break;    case '<':      if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&lt;", 4))        return soap->error;      s = t;      break;    case '>':      if (!flag)      { if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&gt;", 4))	  return soap->error;        s = t;      }      break;    case '"':      if (flag)      { if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&quot;", 6))	  return soap->error;        s = t;      }      break;    default:#ifdef HAVE_MBTOWC      if (soap->mode & SOAP_C_MBSTRING)      { wchar_t wc;        register int m = mbtowc(&wc, t - 1, MB_CUR_MAX);        if (m > 0 && wc != c)        { if (soap_send_raw(soap, s, t - s - 1) || soap_pututf8(soap, wc))            return soap->error;	  s = t + m - 1;	  continue;        }      }#endif      if (c & mask)      { if (soap_send_raw(soap, s, t - s - 1) || soap_pututf8(soap, (unsigned char)c))          return soap->error;        s = t;      }    }  }  return soap_send_raw(soap, s, t - s - 1);}