| 947 | } |
| 948 | |
| 949 | TSReturnCode |
| 950 | TSUrlCopy(TSMBuffer dest_bufp, TSMLoc dest_obj, TSMBuffer src_bufp, TSMLoc src_obj) |
| 951 | { |
| 952 | sdk_assert(sdk_sanity_check_mbuffer(src_bufp) == TS_SUCCESS); |
| 953 | sdk_assert(sdk_sanity_check_mbuffer(dest_bufp) == TS_SUCCESS); |
| 954 | sdk_assert(sdk_sanity_check_url_handle(src_obj) == TS_SUCCESS); |
| 955 | sdk_assert(sdk_sanity_check_url_handle(dest_obj) == TS_SUCCESS); |
| 956 | |
| 957 | if (!isWriteable(dest_bufp)) { |
| 958 | return TS_ERROR; |
| 959 | } |
| 960 | |
| 961 | HdrHeap *s_heap, *d_heap; |
| 962 | URLImpl *s_url, *d_url; |
| 963 | |
| 964 | s_heap = reinterpret_cast<HdrHeapSDKHandle *>(src_bufp)->m_heap; |
| 965 | d_heap = reinterpret_cast<HdrHeapSDKHandle *>(dest_bufp)->m_heap; |
| 966 | s_url = reinterpret_cast<URLImpl *>(src_obj); |
| 967 | d_url = reinterpret_cast<URLImpl *>(dest_obj); |
| 968 | |
| 969 | url_copy_onto(s_url, s_heap, d_url, d_heap, (s_heap != d_heap)); |
| 970 | return TS_SUCCESS; |
| 971 | } |
| 972 | |
| 973 | void |
| 974 | TSUrlPrint(TSMBuffer bufp, TSMLoc obj, TSIOBuffer iobufp) |