MCPcopy Create free account
hub / github.com/apache/trafficserver / TSMimeHdrClone

Function TSMimeHdrClone

src/api/InkAPI.cc:1460–1487  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1458}
1459
1460TSReturnCode
1461TSMimeHdrClone(TSMBuffer dest_bufp, TSMBuffer src_bufp, TSMLoc src_hdr, TSMLoc *locp)
1462{
1463 // Allow to modify the buffer only
1464 // if bufp is modifiable. If bufp is not modifiable return
1465 // TS_ERROR. If not allowed, set *locp to TS_NULL_MLOC.
1466 sdk_assert(sdk_sanity_check_mbuffer(dest_bufp) == TS_SUCCESS);
1467 sdk_assert(sdk_sanity_check_mbuffer(src_bufp) == TS_SUCCESS);
1468 sdk_assert(sdk_sanity_check_mime_hdr_handle(src_hdr) == TS_SUCCESS);
1469 sdk_assert(sdk_sanity_check_http_hdr_handle(src_hdr) == TS_SUCCESS);
1470 sdk_assert(sdk_sanity_check_null_ptr((void *)locp) == TS_SUCCESS);
1471
1472 if (!isWriteable(dest_bufp)) {
1473 return TS_ERROR;
1474 }
1475
1476 HdrHeap *s_heap, *d_heap;
1477 MIMEHdrImpl *s_mh, *d_mh;
1478
1479 s_heap = (reinterpret_cast<HdrHeapSDKHandle *>(src_bufp))->m_heap;
1480 d_heap = (reinterpret_cast<HdrHeapSDKHandle *>(dest_bufp))->m_heap;
1481 s_mh = _hdr_mloc_to_mime_hdr_impl(src_hdr);
1482
1483 d_mh = mime_hdr_clone(s_mh, s_heap, d_heap, (s_heap != d_heap));
1484 *locp = reinterpret_cast<TSMLoc>(d_mh);
1485
1486 return TS_SUCCESS;
1487}
1488
1489TSReturnCode
1490TSMimeHdrCopy(TSMBuffer dest_bufp, TSMLoc dest_obj, TSMBuffer src_bufp, TSMLoc src_obj)

Callers

nothing calls this directly

Calls 7

sdk_sanity_check_mbufferFunction · 0.85
isWriteableFunction · 0.85
mime_hdr_cloneFunction · 0.85

Tested by

no test coverage detected