[ https://issues.apache.org/jira/browse/TS-2407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13867897#comment-13867897 ]
Leif Hedstrom commented on TS-2407: ----------------------------------- Well, it looks like James has a few concerns re: this patch, which have not been addressed? > we should add API TSUrlStringGetBuf in ts.h > ------------------------------------------- > > Key: TS-2407 > URL: https://issues.apache.org/jira/browse/TS-2407 > Project: Traffic Server > Issue Type: Improvement > Components: HTTP > Reporter: Yu Qing > Assignee: Yu Qing > Fix For: 4.2.0 > > Attachments: 0001-TS-2407-add-API-TSUrlStringGetBuf.patch > > > the existing API TSUrlStringGet call ats_malloc to malloc buffer for the url > string. the caller should call ats_free to free the buffer. the API prototype > is: > tsapi char* TSUrlStringGet(TSMBuffer bufp, TSMLoc offset, int* length); > call this API is expensive because dynamic memory alloc and free. > we wish the buffer can be passed in. the new API prototype is: > tsapi char* TSUrlStringGetBuf(TSMBuffer bufp, TSMLoc offset, char *buff, int > buf_size, int* length); > the implements as: > char * > TSUrlStringGetBuf(TSMBuffer bufp, TSMLoc obj, char *buff, int buf_size, int* > length) > { > sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS); > sdk_assert(sdk_sanity_check_url_handle(obj) == TS_SUCCESS); > sdk_assert(sdk_sanity_check_null_ptr((void*)buff) == TS_SUCCESS); > sdk_assert(sdk_sanity_check_null_ptr((void*)length) == TS_SUCCESS); > URLImpl *url_impl = (URLImpl *) obj; > return url_string_get_buf(url_impl, buff, buf_size, length); > } -- This message was sent by Atlassian JIRA (v6.1.5#6160)