[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