[PATCH 1/2] msvcrt/tests: Add scanf tests for leading and trailing dash in scanset.

Piotr Caban piotr.caban at gmail.com
Mon Nov 2 09:02:36 CST 2020


Hi Will,

I have sent simplified version of your patch as v4.

Thanks,
Piotr

On 10/31/20 7:13 PM, Will Mainio wrote:
> Never mind that, it was simple enough for me to implement.
> I submitted a v3 that can handle dashes in any location.
> 
> Cheers
> 
> On Fri, Oct 30, 2020, at 6:54 PM, Will Mainio wrote:
>> Hi Piotr,
>>
>> unfortunately I am not very familiar with C so I can't implement that
>> but I can add tests with dashes in various locations.
>> Should that go into a v3 or into a separate patch?
>>
>> Cheers
>>
>> On Fri, Oct 30, 2020, at 1:45 PM, Piotr Caban wrote:
>>> Hi Will,
>>>
>>> There are more problems with current implementation. The '-' character
>>> can be also added to the set if it's not defining a range even if it's
>>> not the first or last character. You can see it running following test:
>>> sscanf("123", "%[1-2-4]s", buf);
>>> This format will look for 1-2 range, '-' character and '4' (not for 1-2
>>> range and 2-4 range).
>>>
>>> Thanks,
>>> Piotr
>>>
>>> On 10/30/20 1:23 PM, Will Mainio wrote:
>>>> Hi Gijs,
>>>>
>>>> I will reorder the patches and submit a v2. Thanks for the heads up.
>>>>
>>>> Cheers
>>>>
>>>> On Fri, Oct 30, 2020, at 1:00 PM, Gijs Vermeulen wrote:
>>>>> Hi Will,
>>>>>
>>>>> You will either need to reorder your patches or add todo_wine to the ok()'s that are supposed to fail and remove them in your second patch.
>>>>>
>>>>> Kind regards,
>>>>> Gijs
>>>>>
>>>>>
>>>>> On Fri, Oct 30, 2020, 12:39 Will Mainio <will.mainio at fastmail.com> wrote:
>>>>>> Signed-off-by: Will Mainio <will.mainio at fastmail.com>
>>>>>> ---
>>>>>>    dlls/msvcrt/tests/scanf.c | 8 ++++++++
>>>>>>    1 file changed, 8 insertions(+)
>>>>>>
>>>>>> diff --git a/dlls/msvcrt/tests/scanf.c b/dlls/msvcrt/tests/scanf.c
>>>>>> index 57d9cc0ba12..4b878e6d64e 100644
>>>>>> --- a/dlls/msvcrt/tests/scanf.c
>>>>>> +++ b/dlls/msvcrt/tests/scanf.c
>>>>>> @@ -186,6 +186,14 @@ static void test_sscanf( void )
>>>>>>        ok( ret == 1, "Error with format \"%s\"\n","%*[a-cd-dg-e]%c");
>>>>>>        ok( buffer[0] == 'h', "Error with \"abcefgdh\" \"%c\"\n", buffer[0]);
>>>>>>
>>>>>> +    ret = p_sscanf("-123","%[-0-9]s",buffer);
>>>>>> +    ok( ret == 1, "Error with format \"%s\"\n","%[-0-9]s");
>>>>>> +    ok( strncmp("-123",buffer,strlen(buffer)) == 0, "Error with \"-123\" \"%s\"\n",buffer);
>>>>>> +
>>>>>> +    ret = p_sscanf("-321","%[0-9-]s",buffer);
>>>>>> +    ok( ret == 1, "Error with format \"%s\"\n","%[0-9-]s");
>>>>>> +    ok( strncmp("-321",buffer,strlen(buffer)) == 0, "Error with \"-321\" \"%s\"\n",buffer);
>>>>>> +
>>>>>>        buffer1[0] = 'b';
>>>>>>        ret = p_sscanf("a","%s%s", buffer, buffer1);
>>>>>>        ok( ret == 1, "expected 1, got %u\n", ret);
>>>>>> -- 
>>>>>> 2.28.0
>>>>>>
>>>>>>
>>>>
>>>
>>>
>>
>>




More information about the wine-devel mailing list