d3dcompiler: Free the filename if we don't store it in the HLSL preproc_directive rule (Valgrind).
This commit is contained in:
parent
a74c56a3b9
commit
307cf703af
|
@ -1097,20 +1097,23 @@ hlsl_prog: /* empty */
|
||||||
|
|
||||||
preproc_directive: PRE_LINE STRING
|
preproc_directive: PRE_LINE STRING
|
||||||
{
|
{
|
||||||
|
const char **new_array = NULL;
|
||||||
|
|
||||||
TRACE("Updating line information to file %s, line %u\n", debugstr_a($2), $1);
|
TRACE("Updating line information to file %s, line %u\n", debugstr_a($2), $1);
|
||||||
hlsl_ctx.line_no = $1;
|
hlsl_ctx.line_no = $1;
|
||||||
if (strcmp($2, hlsl_ctx.source_file))
|
if (strcmp($2, hlsl_ctx.source_file))
|
||||||
{
|
|
||||||
const char **new_array;
|
|
||||||
|
|
||||||
hlsl_ctx.source_file = $2;
|
|
||||||
new_array = d3dcompiler_realloc(hlsl_ctx.source_files,
|
new_array = d3dcompiler_realloc(hlsl_ctx.source_files,
|
||||||
sizeof(*hlsl_ctx.source_files) * hlsl_ctx.source_files_count + 1);
|
sizeof(*hlsl_ctx.source_files) * hlsl_ctx.source_files_count + 1);
|
||||||
if (new_array)
|
|
||||||
{
|
if (new_array)
|
||||||
hlsl_ctx.source_files = new_array;
|
{
|
||||||
hlsl_ctx.source_files[hlsl_ctx.source_files_count++] = $2;
|
hlsl_ctx.source_files = new_array;
|
||||||
}
|
hlsl_ctx.source_files[hlsl_ctx.source_files_count++] = $2;
|
||||||
|
hlsl_ctx.source_file = $2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
d3dcompiler_free($2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue