On 18/04/2015 17:30, David Wolfskill wrote: > On Sat, Apr 18, 2015 at 06:34:59PM +0300, Konstantin Belousov wrote: >> ... >>> - printf("LE_STATUS: %d %d %lx\n", e, rp.status, rp.le_status); >>> + printf("LE_STATUS: %d %d %jx\n", e, rp.status, rp.le_status); >>> >>> return 0; >>> } >> The j modificator specifies that the type of the argument is (u)intmax_t. >> It is only a coincidense that uint64_t is max integer type, the arg should >> be casted to uintmax_t. >> >> Could you, please, update and test ? >> .... > Thank you for the correction; the attached patch survives both i386 & > amd64 "make buildworld" ... and comes a bit closer to the above > specification. (I had tried "(uintmax_t)rp.le_features" at first; that > failed (at least on amd64), with: > > --- usr.sbin.all__D --- > /usr/src/usr.sbin/bluetooth/hccontrol/le.c:236:15: error: expected ')' > (uintmax_t)rp.le_features); > ^ > /usr/src/usr.sbin/bluetooth/hccontrol/le.c:235:8: note: to match this '(' > printf("LOCAL SUPPORTED: %d %d %ju\n", e, rp.status, > ^ > /usr/src/usr.sbin/bluetooth/hccontrol/le.c:253:60: error: expected ')' > printf("LE_STATUS: %d %d %jx\n", e, rp.status, (uintmax_t)rp.le_status); > ^ > /usr/src/usr.sbin/bluetooth/hccontrol/le.c:253:8: note: to match this '(' > printf("LE_STATUS: %d %d %jx\n", e, rp.status, (uintmax_t)rp.le_status); > ^ > 2 errors generated. > > So I took a bit of evasive action.) > The errors not very good, but I'm guessing your missing #include <stdint.h> for uintmax_t where as u_int64_t is from sys/types.h iirc. Regards SteveReceived on Sat Apr 18 2015 - 15:03:49 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:57 UTC