| 971 | } |
| 972 | |
| 973 | void |
| 974 | TSUrlPrint(TSMBuffer bufp, TSMLoc obj, TSIOBuffer iobufp) |
| 975 | { |
| 976 | sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS); |
| 977 | sdk_assert(sdk_sanity_check_url_handle(obj) == TS_SUCCESS); |
| 978 | sdk_assert(sdk_sanity_check_iocore_structure(iobufp) == TS_SUCCESS); |
| 979 | |
| 980 | MIOBuffer *b = reinterpret_cast<MIOBuffer *>(iobufp); |
| 981 | IOBufferBlock *blk; |
| 982 | int bufindex; |
| 983 | int tmp, dumpoffset; |
| 984 | int done; |
| 985 | URL u; |
| 986 | |
| 987 | u.m_heap = (reinterpret_cast<HdrHeapSDKHandle *>(bufp))->m_heap; |
| 988 | u.m_url_impl = reinterpret_cast<URLImpl *>(obj); |
| 989 | dumpoffset = 0; |
| 990 | |
| 991 | do { |
| 992 | blk = b->get_current_block(); |
| 993 | if (!blk || blk->write_avail() == 0) { |
| 994 | b->add_block(); |
| 995 | blk = b->get_current_block(); |
| 996 | } |
| 997 | |
| 998 | bufindex = 0; |
| 999 | tmp = dumpoffset; |
| 1000 | |
| 1001 | done = u.print(blk->end(), blk->write_avail(), &bufindex, &tmp); |
| 1002 | |
| 1003 | dumpoffset += bufindex; |
| 1004 | b->fill(bufindex); |
| 1005 | } while (!done); |
| 1006 | } |
| 1007 | |
| 1008 | TSParseResult |
| 1009 | TSUrlParse(TSMBuffer bufp, TSMLoc obj, const char **start, const char *end) |