On Fri, 04/11 08:27, Peter Maydell wrote: > On 11 April 2014 02:40, Eric Blake <ebl...@redhat.com> wrote: > > We uncovered a real bug that would be fixed by this patch: > > https://lists.gnu.org/archive/html/qemu-devel/2014-04/msg01745.html > > No, that's a bug in the called code. The API here defines > that for optional parameters, if the have_foo bool is false > then the foo argument isn't set. The generated code > can't know the correct default value (it just happens > to be 0 in the case you point out, but what if the default > speed were 100?) so this must be handled by the called > code. >
Default value for a variable isn't default value for API logic, so apparently called code must always handle both have_foo and foo. But there is a point to take this patch from the language perspective, to avoid that an unset variable is passed as a parameter from generated code. Thanks, Fam