ralloc: Add new [v]asprintf_rewrite_tail functions.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 25 Oct 2011 02:33:16 +0000 (19:33 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Wed, 26 Oct 2011 00:51:43 +0000 (17:51 -0700)
commitca95593d49a2d99a16c160c2a04acc4be007d8a4
tree15754272e39bd38e586b73817983dfd1dd4deed0
parent960d722bf7db636863a05ddf9258236fccb58ecd
ralloc: Add new [v]asprintf_rewrite_tail functions.

This can be useful if you want to create a bunch of temporary strings
with a common prefix.  For example, when iterating over uniform
structure fields, one might want to create temporary strings like
"pallete.primary", "palette.outline", and "pallette.shadow".

This could be done by overwriting the '.' with a null-byte and calling
ralloc_asprintf_append, but that incurs the cost of strlen("pallete")
every time...when this is already known.

These new functions allow you rewrite the tail of the string, given a
starting index.  If the starting index is the length of the string, this
is equivalent to appending.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/glsl/ralloc.c
src/glsl/ralloc.h