From: Philippe C. <la-...@or...> - 2012-03-31 12:11:53
|
Le samedi 31 mars 2012 à 20:22 +1030, Jonathan Woithe a écrit : > Hi Yves > > > I just compiled revision 2102 and I got these warnings: > > src/dice/dice_eap.cpp: In member function ?virtual void > > Dice::EAP::Router::show()?: > > src/dice/dice_eap.cpp:1613: warning: format ?%ld? expects type ?long > > int?, but argument 7 has type ?size_t? > > src/dice/dice_eap.cpp:1618: warning: format ?%ld? expects type ?long > > int?, but argument 7 has type ?size_t? > > src/dice/dice_eap.cpp: In member function ?void > > Dice::EAP::RouterConfig::show()?: > > src/dice/dice_eap.cpp:1801: warning: format ?%ld? expects type ?long > > int?, but argument 7 has type ?size_t? > > > > These are just warnings, without impact, but a simple cast could fix it. > > Thanks for the report. A fix has been committed in r2103. > > As per the commit log, I've gone for "unsigned long long" because size_t > could be 64-bit (as it is on 64-bit systems). Even though the values > concerned won't exceed the maximum of a 32-bit unsigned integer in the > context of these particular warnings, we should do things "correctly" > anyway. > > The best solution to the problem is to use %zu, which is one of the "%z" > specifiers introduced in C99 to cater for these built-in types (the "u" is > for "unsigned", since size_t is unsigned). However, at this stage we > shouldn't start assuming that the compiler used by every FFADO tester is > C99-compliant and/or has support for this specifier (note however that I > have done no research into gcc's support of %zu - if it turns out that it is > widely supported perhaps we could consider using it). > > Regards > jonathan Thanks Jonathan for fixing these warnings. They appeared as I tried to have a clear look of the content of the flash versus the content of libffado maps. Not as obvious as expected at first glance. I thought I fixed such warnings but I apparently mismatched somewhere. So thanks again. I will follow your recommendation Yves, may you have a "thorough test" of the last modification on your EAP device ? Starting with correct settings at first (I mean, reset using Windows/Mac OS), you would have to be able to do anything you want (including having the eight leds going together playing with the routing of 1394 destinations; amusing even useless ... :-) Regards Phil. |