A few days ago, François Tigeot reported an API inconsistency with the
new prop_*_send/recv_syscall functions: their man pages indicated that
they should return a boolean to indicate success/failure, yet their
implementation was done differently.

Their implementation was not symmetric; one assumed that the returned
value had to be interpreted as a boolean (hence, 0 is false and != 0 is
true), while the other one had the opposite with 0 being success and !=
0 indicating error.

Given prior art with the prop_*_{send,recv}_ioctl(3) functions, I
adopted the same convention for these new functions: return an int, with
0 being "no error" and "!= 0" indicating error (with errno set).

prop_*_recv_syscall() functions were already good, only the
prop_*_send_syscall() consumers had to be fixed, which means only the
quota2 code and its tests as the API never left -current (Manuel
introduced it for its new quota2 code).

The prop_array(3) and prop_dictionary(3) man pages have been updated to
reflect this change. The proplib(3) has not been bumped for this, so
ensure that you keep both proplib and quota2 binaries in sync when
updating a -current system.

Many thanks to François for reporting this so we could fix it before
releasing -6.

Thank you all for reading.
--
Jean-Yves Migeon
jeanyves.migeon%free.fr@localhost