[ 
https://issues.apache.org/jira/browse/TS-2407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alan M. Carroll updated TS-2407:
--------------------------------

    Assignee:     (was: Leif Hedstrom)

> 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
>              Labels: api-addition, review
>             Fix For: sometime
>
>         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.2#6252)

Reply via email to