[Mesa-dev] [PATCH] glcpp: Rewrite line-continuation support to act globally.
Kenneth Graunke
kenneth at whitecape.org
Sat Dec 1 04:13:07 PST 2012
On 11/30/2012 03:20 PM, Carl Worth wrote:
> Kenneth Graunke <kenneth at whitecape.org> writes:
>> Other than than, looks good to me...thanks Carl!
>>
>> Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
>
> Thanks, Ken. Pushed now.
>
>> Someday we may want to use ralloc's rewrite_tail functions to avoid the
>> extra strlen() overhead. But that can be done separately.
>
> I took a look at this now. It looks like there are only rewrite_tail
> variants of ralloc_asprintf, which feel heavy here. I'd prefer a variant
> of ralloc_strcat that would give the better efficiency, (and the
> documentation of ralloc_strcat could then point to the alternate
> function).
>
> Perhaps the new function could be named ralloc_rewrite_tail? Compared to
> something like ralloc_strcat_rewrite_tail that would be a less awkward
> name, and would also avoid suggesting that the new string is always
> appended to the end, (in the case where the passed length is shorter
> than the current string's length).
Yeah, I'm definitely in favor of creating a ralloc_rewrite_tail function.
I almost added them when I reworked the preprocessor, but a bunch of the
calls needed printf-like functionality anyway, so I decided just to use
it everywhere and put off making a new function.
> The only naming question left after that would be what to name the
> tail-rewriting variant of ralloc_strncat?
>
> -Carl
Sadly, that is the trickiest part :) I do like "ralloc_rewrite_tail",
as it's simple and feels natural. It doesn't mention strings, but I
don't think it needs to.
Going with that, perhaps ralloc_rewrite_tail_n()?
Another alternative would be ralloc_strn_rewrite_tail(). That seems
fairly clear (the "strn" concept is familiar, and can be pronounced
"stern"...), but it almost begs for ralloc_str_rewrite_tail() for
consistency. And that doesn't roll off the tongue as well.
I'm pretty tempted by ralloc_rewrite_tail & ralloc_strn_rewrite_tail.
More information about the mesa-dev
mailing list