Re: Fix for r281680 -- broke i386 world

From: David Wolfskill <david_at_catwhisker.org>
Date: Sat, 18 Apr 2015 09:30:57 -0700
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.)

Peace,
david
-- 
David H. Wolfskill				david_at_catwhisker.org
Those who murder in the name of God or prophet are blasphemous cowards.

See http://www.catwhisker.org/~david/publickey.gpg for my public key.

Received on Sat Apr 18 2015 - 14:30:59 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:57 UTC