Revised:

const char *TSRemapFromUrlStringGet(const TSHttpTxn txnp, int &length);

const char *TSRemapToUrlStringGet(const TSHttpTxn txnp, int &length);

These would return, from the transaction state object,
url_map.getFromURL() and url_map.getToURL() respectively, in strong
format.  A null pointer would be returned if the values were empty.
The length of the string is returned in 'length'.  (Nul-termination
should not be expected/presumed.) . The plugin must release the memory
for the string by calling TSFree().

On Mon, Jan 29, 2018 at 4:55 PM, Walt Karas <wka...@oath.com> wrote:
> The plugin would own them and would have to call TSFree() when done
> with them.  They would be nul terminated.
>
> On Mon, Jan 29, 2018 at 4:52 PM, Alan Carroll
> <solidwallofc...@oath.com.invalid> wrote:
>> What are the ownership properties of the memory indicated by the returned
>> pointers? Are these strings guaranteed to be null terminated or is a length
>> needed?
>>
>> On Mon, Jan 29, 2018 at 3:53 PM, Shu Kit Chan <chanshu...@gmail.com> wrote:
>>
>>> What does the "I" stand for in "TSIRemapFromUrlStringGet" ?
>>>
>>> On Mon, Jan 29, 2018 at 10:02 AM, Walt Karas <wka...@oath.com.invalid>
>>> wrote:
>>> > const char *TSIRemapFromUrlStringGet(const TSHttpTxn txnp);
>>> >
>>> > const char *TSIRemapToUrlStringGet(const TSHttpTxn txnp);
>>> >
>>> > These would return, from the transaction state object,
>>> > url_map.getFromURL() and url_map.getToURL() respectively, in strong
>>> > format.  A null pointer would be returned if the values were empty.
>>>

Reply via email to