MCPcopy Create free account
hub / github.com/Kitware/VTK / xmlNanoHTTPScanAnswer

Function xmlNanoHTTPScanAnswer

ThirdParty/libxml2/vtklibxml2/nanohttp.c:665–804  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

663 */
664
665static void
666xmlNanoHTTPScanAnswer(xmlNanoHTTPCtxtPtr ctxt, const char *line) {
667 const char *cur = line;
668
669 if (line == NULL) return;
670
671 if (!strncmp(line, "HTTP/", 5)) {
672 int version = 0;
673 int ret = 0;
674
675 cur += 5;
676 while ((*cur >= '0') && (*cur <= '9')) {
677 version *= 10;
678 version += *cur - '0';
679 cur++;
680 }
681 if (*cur == '.') {
682 cur++;
683 if ((*cur >= '0') && (*cur <= '9')) {
684 version *= 10;
685 version += *cur - '0';
686 cur++;
687 }
688 while ((*cur >= '0') && (*cur <= '9'))
689 cur++;
690 } else
691 version *= 10;
692 if ((*cur != ' ') && (*cur != '\t')) return;
693 while ((*cur == ' ') || (*cur == '\t')) cur++;
694 if ((*cur < '0') || (*cur > '9')) return;
695 while ((*cur >= '0') && (*cur <= '9')) {
696 ret *= 10;
697 ret += *cur - '0';
698 cur++;
699 }
700 if ((*cur != 0) && (*cur != ' ') && (*cur != '\t')) return;
701 ctxt->returnValue = ret;
702 ctxt->version = version;
703 } else if (!xmlStrncasecmp(BAD_CAST line, BAD_CAST"Content-Type:", 13)) {
704 const xmlChar *charset, *last, *mime;
705 cur += 13;
706 while ((*cur == ' ') || (*cur == '\t')) cur++;
707 if (ctxt->contentType != NULL)
708 xmlFree(ctxt->contentType);
709 ctxt->contentType = xmlMemStrdup(cur);
710 mime = (const xmlChar *) cur;
711 last = mime;
712 while ((*last != 0) && (*last != ' ') && (*last != '\t') &&
713 (*last != ';') && (*last != ','))
714 last++;
715 if (ctxt->mimeType != NULL)
716 xmlFree(ctxt->mimeType);
717 ctxt->mimeType = (char *) xmlStrndup(mime, last - mime);
718 charset = xmlStrstr(BAD_CAST ctxt->contentType, BAD_CAST "charset=");
719 if (charset != NULL) {
720 charset += 8;
721 last = charset;
722 while ((*last != 0) && (*last != ' ') && (*last != '\t') &&

Callers 1

xmlNanoHTTPMethodRedirFunction · 0.85

Calls 5

xmlStrncasecmpFunction · 0.85
xmlStrndupFunction · 0.85
xmlStrstrFunction · 0.85
xmlStrdupFunction · 0.85
xmlStrcatFunction · 0.85

Tested by

no test coverage detected