The hidraw(4) driver provides a set of Linux compatible ioctls. Three
of these return the length of the copied string on Linux, but they
always return 0 on FreeBSD:
- HIDIOCGRAWPHYS
- HIDIOCGRAWNAME
- HIDIOCGRAWUNIQ
I noticed this while implementing hidraw(4) support for FreeBSD in
python-fido2[0], so there is some real-world software relying on
this return value (I would assume that this isn't the only one).
This patch aims to fix this by returning the length of the copied
string (including the trailing NUL character) in the affected ioctls.
[0]
https://github.com/Yubico/python-fido2/pull/139
https://github.com/Yubico/python-fido2/blob/master/fido2/hid/linux.py#L63-L74