[PATCH] d3dcompiler: Use stricmp() instead of _strnicmp(..., -1).
Paul Gofman
gofmanp at gmail.com
Fri Mar 27 05:06:52 CDT 2020
Please see the test in [1]. Native ucrtbase throws
_INVALID_CRUNTIME_PARAMETER exception for '-1' count. The problem is
there only when native ucrtbase is used and only for PE builtin DLLS,
which were switched to using ucrtbase lately.
https://source.winehq.org/git/wine.git/blobdiff/b07e8b3edbaab4b2818926abb65702450b1447ba..d912460ae046c48d6b5f65f03df84df9ae4d5a56:/dlls/ucrtbase/tests/string.c
On 3/27/20 13:01, Zhiyi Zhang wrote:
> Just curious. What caused the crash?
> It seems that many code in Wine have _strnicmp(...,-1).
> Do we need to update those?
>
> On 3/27/20 5:50 PM, Paul Gofman wrote:
>> Signed-off-by: Paul Gofman <gofmanp at gmail.com>
>> ---
>> dlls/d3dcompiler_43/reflection.c | 8 ++++----
>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/dlls/d3dcompiler_43/reflection.c b/dlls/d3dcompiler_43/reflection.c
>> index 820e5c239f..b29db47c71 100644
>> --- a/dlls/d3dcompiler_43/reflection.c
>> +++ b/dlls/d3dcompiler_43/reflection.c
>> @@ -1674,13 +1674,13 @@ static HRESULT d3dcompiler_parse_signature(struct d3dcompiler_shader_signature *
>>
>> if (d[i].Register == 0xffffffff)
>> {
>> - if (!_strnicmp(d[i].SemanticName, "sv_depth", -1))
>> + if (!stricmp(d[i].SemanticName, "sv_depth"))
>> d[i].SystemValueType = D3D_NAME_DEPTH;
>> - else if (!_strnicmp(d[i].SemanticName, "sv_coverage", -1))
>> + else if (!stricmp(d[i].SemanticName, "sv_coverage"))
>> d[i].SystemValueType = D3D_NAME_COVERAGE;
>> - else if (!_strnicmp(d[i].SemanticName, "sv_depthgreaterequal", -1))
>> + else if (!stricmp(d[i].SemanticName, "sv_depthgreaterequal"))
>> d[i].SystemValueType = D3D_NAME_DEPTH_GREATER_EQUAL;
>> - else if (!_strnicmp(d[i].SemanticName, "sv_depthlessequal", -1))
>> + else if (!stricmp(d[i].SemanticName, "sv_depthlessequal"))
>> d[i].SystemValueType = D3D_NAME_DEPTH_LESS_EQUAL;
>> }
>> else
More information about the wine-devel
mailing list