| 1006 | } |
| 1007 | |
| 1008 | TSParseResult |
| 1009 | TSUrlParse(TSMBuffer bufp, TSMLoc obj, const char **start, const char *end) |
| 1010 | { |
| 1011 | sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS); |
| 1012 | sdk_assert(sdk_sanity_check_url_handle(obj) == TS_SUCCESS); |
| 1013 | sdk_assert(sdk_sanity_check_null_ptr((void *)start) == TS_SUCCESS); |
| 1014 | sdk_assert(sdk_sanity_check_null_ptr((void *)*start) == TS_SUCCESS); |
| 1015 | sdk_assert(sdk_sanity_check_null_ptr((void *)end) == TS_SUCCESS); |
| 1016 | |
| 1017 | if (!isWriteable(bufp)) { |
| 1018 | return TS_PARSE_ERROR; |
| 1019 | } |
| 1020 | |
| 1021 | URL u; |
| 1022 | u.m_heap = (reinterpret_cast<HdrHeapSDKHandle *>(bufp))->m_heap; |
| 1023 | u.m_url_impl = reinterpret_cast<URLImpl *>(obj); |
| 1024 | url_clear(u.m_url_impl); |
| 1025 | return static_cast<TSParseResult>(u.parse(start, end)); |
| 1026 | } |
| 1027 | |
| 1028 | int |
| 1029 | TSUrlLengthGet(TSMBuffer bufp, TSMLoc obj) |