[PATCH xorg-gtest] process: document that va_args for Start() must end with zero-length string

Chase Douglas chase.douglas at canonical.com
Thu Aug 16 08:21:57 PDT 2012


On 08/14/2012 04:20 PM, Peter Hutterer wrote:
> On Tue, Aug 14, 2012 at 10:19:00AM -0700, Chase Douglas wrote:
>> On 08/13/2012 06:16 PM, Peter Hutterer wrote:
>>> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
>>> ---
>>>   include/xorg/gtest/xorg-gtest-process.h | 6 ++++--
>>>   1 file changed, 4 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/include/xorg/gtest/xorg-gtest-process.h b/include/xorg/gtest/xorg-gtest-process.h
>>> index 69b3b34..8cf60e3 100644
>>> --- a/include/xorg/gtest/xorg-gtest-process.h
>>> +++ b/include/xorg/gtest/xorg-gtest-process.h
>>> @@ -123,7 +123,8 @@ class Process {
>>>      * See 'man execvp' for further information on the variadic argument list.
>>>      *
>>>      * @param program The program to start.
>>> -   * @param args Variadic list of arguments passed to the program.
>>> +   * @param args Variadic list of arguments passed to the program. This list
>>> +   * must end in a zero-length string ("", not NULL).
>>>      *
>>>      * @throws std::runtime_error on failure.
>>>      *
>>> @@ -135,7 +136,8 @@ class Process {
>>>     /**
>>>      * Starts a program as a child process.
>>>      *
>>> -   * Takes a variadic list of arguments passed to the program.
>>> +   * Takes a variadic list of arguments passed to the program. This list
>>> +   * must end in a zero-length string ("", not NULL).
>>>      * See 'man execvp' for further information on the variadic argument list.
>>>      *
>>>      * @param program The program to start.
>>>
>>
>> Hmmm... I wish we had though to use a NULL sentinel for the varargs
>> version. We could have used the gcc sentinel function attribute to
>> help warn people of bad usage. I suppose it's too late to change now
>> that we've released it.
>
> I disagree. We're only up to 0.4 and have few users only. Pretending we have
> a good and stable API already is optimistic at best, it's better to fix the
> things that are obviously (or at least reasonably :) broken. This isn't hard
> thing to fix either (I'll send patches out in a bit), so there really isn't
> an excuse for having a bad API, it'll just come and haunt us later.

I'll confess that I was attempting a bait a little with my response :). 
I agree that there are few users and the change would be small, so I'm 
fine with fixing this up.

-- Chase


More information about the xorg-devel mailing list