| 1817 | } |
| 1818 | |
| 1819 | TSReturnCode |
| 1820 | TSMimeHdrFieldCreate(TSMBuffer bufp, TSMLoc mh_mloc, TSMLoc *locp) |
| 1821 | { |
| 1822 | // Allow to modify the buffer only |
| 1823 | // if bufp is modifiable. If bufp is not modifiable return |
| 1824 | // TS_ERROR. If not allowed, set *locp to TS_NULL_MLOC. |
| 1825 | sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS); |
| 1826 | sdk_assert((sdk_sanity_check_mime_hdr_handle(mh_mloc) == TS_SUCCESS) || |
| 1827 | (sdk_sanity_check_http_hdr_handle(mh_mloc) == TS_SUCCESS)); |
| 1828 | sdk_assert(sdk_sanity_check_null_ptr((void *)locp) == TS_SUCCESS); |
| 1829 | |
| 1830 | if (!isWriteable(bufp)) { |
| 1831 | return TS_ERROR; |
| 1832 | } |
| 1833 | |
| 1834 | MIMEHdrImpl *mh = _hdr_mloc_to_mime_hdr_impl(mh_mloc); |
| 1835 | HdrHeap *heap = ((reinterpret_cast<HdrHeapSDKHandle *>(bufp))->m_heap); |
| 1836 | MIMEFieldSDKHandle *h = sdk_alloc_field_handle(bufp, mh); |
| 1837 | |
| 1838 | h->field_ptr = mime_field_create(heap, mh); |
| 1839 | *locp = reinterpret_cast<TSMLoc>(h); |
| 1840 | return TS_SUCCESS; |
| 1841 | } |
| 1842 | |
| 1843 | TSReturnCode |
| 1844 | TSMimeHdrFieldCreateNamed(TSMBuffer bufp, TSMLoc mh_mloc, const char *name, int name_len, TSMLoc *locp) |