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

Function TSMimeHdrFieldClone

src/api/InkAPI.cc:1915–1941  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1913}
1914
1915TSReturnCode
1916TSMimeHdrFieldClone(TSMBuffer dest_bufp, TSMLoc dest_hdr, TSMBuffer src_bufp, TSMLoc src_hdr, TSMLoc src_field, TSMLoc *locp)
1917{
1918 // Allow to modify the buffer only
1919 // if bufp is modifiable. If bufp is not modifiable return
1920 // TS_ERROR. If not allowed, set *locp to TS_NULL_MLOC.
1921 sdk_assert(sdk_sanity_check_mbuffer(dest_bufp) == TS_SUCCESS);
1922 sdk_assert(sdk_sanity_check_mbuffer(src_bufp) == TS_SUCCESS);
1923 sdk_assert((sdk_sanity_check_mime_hdr_handle(dest_hdr) == TS_SUCCESS) ||
1924 (sdk_sanity_check_http_hdr_handle(dest_hdr) == TS_SUCCESS));
1925 sdk_assert((sdk_sanity_check_mime_hdr_handle(src_hdr) == TS_SUCCESS) ||
1926 (sdk_sanity_check_http_hdr_handle(src_hdr) == TS_SUCCESS));
1927 sdk_assert(sdk_sanity_check_field_handle(src_field, src_hdr) == TS_SUCCESS);
1928 sdk_assert(sdk_sanity_check_null_ptr((void *)locp) == TS_SUCCESS);
1929
1930 if (!isWriteable(dest_bufp)) {
1931 return TS_ERROR;
1932 }
1933
1934 // This is sort of sub-optimal, since we'll check the args again. TODO.
1935 if (TSMimeHdrFieldCreate(dest_bufp, dest_hdr, locp) == TS_SUCCESS) {
1936 TSMimeHdrFieldCopy(dest_bufp, dest_hdr, *locp, src_bufp, src_hdr, src_field);
1937 return TS_SUCCESS;
1938 }
1939 // TSMimeHdrFieldCreate() failed for some reason.
1940 return TS_ERROR;
1941}
1942
1943TSReturnCode
1944TSMimeHdrFieldCopyValues(TSMBuffer dest_bufp, TSMLoc dest_hdr, TSMLoc dest_field, TSMBuffer src_bufp, TSMLoc src_hdr,

Calls 8

sdk_sanity_check_mbufferFunction · 0.85
isWriteableFunction · 0.85
TSMimeHdrFieldCreateFunction · 0.85
TSMimeHdrFieldCopyFunction · 0.85

Tested by 1