add: if (r) { strcat(soap->tmpbuf, "; start-info=\""); strcat(soap->tmpbuf, r); strcat(soap->tmpbuf, "\""); }
context: soap_puthttphdr(struct soap *soap, int status, size_t count){ register const char *s;  register int err;  if (status == SOAP_FILE && soap->http_content)    s = soap->http_content;  else if (status == SOAP_HTML)    s = "text/html; charset=utf-8";#ifndef WITH_LEANER  else if (soap->mode & SOAP_ENC_DIME)    s = "application/dime";#endif  else if (soap->version == 2)    s = "application/soap+xml; charset=utf-8";  else    s = "text/xml; charset=utf-8";#ifndef WITH_LEANER  if ((soap->mode & SOAP_ENC_MIME) && soap->mime.boundary && soap->status != SOAP_GET)  { register const char *t = strchr(s, ';');    sprintf(soap->tmpbuf, "multipart/related; boundary=\"%s\"; type=\"", soap->mime.boundary);    if (t)      strncat(soap->tmpbuf, s, t - s);    else      strcat(soap->tmpbuf, s);    if (soap->mime.start)    { strcat(soap->tmpbuf, "\"; start=\"");      strcat(soap->tmpbuf, soap->mime.start);    }    strcat(soap->tmpbuf, "\"");    s = soap->tmpbuf;  }#endif  if ((err = soap->fposthdr(soap, "Content-Type", s)))    return err;#ifdef WITH_ZLIB  if (soap->omode & SOAP_ENC_ZLIB)  {#ifdef WITH_GZIP    err = soap->fposthdr(soap, "Content-Encoding", "gzip");#else    err = soap->fposthdr(soap, "Content-Encoding", "deflate");#endif    if (err)      return err;  }#endif#ifndef WITH_LEANER  if ((soap->omode & SOAP_IO) == SOAP_IO_CHUNK)    err = soap->fposthdr(soap, "Transfer-Encoding", "chunked");  else#endif  if (count > 0)  { sprintf(soap->tmpbuf, "%lu", (unsigned long)count);    err = soap->fposthdr(soap, "Content-Length", soap->tmpbuf);  }  if (err)    return err;  return soap->fposthdr(soap, "Connection", soap->keep_alive ? "keep-alive" : "close");}