On Aug 26, 2013, at 8:18 PM, Nathan Hjelm <hje...@me.com> wrote:

> 
> On Aug 26, 2013, at 5:12 PM, Sean McBride <s...@rogue-research.com> wrote:
> 
>> On Mon, 26 Aug 2013 22:33:10 +0000, Nathan Hjelm said:
>> 
>>> Hmm, the conclusion is wrong. If ret > -1 the cached_device is always
>>> not NULL. I should probably change:
>>> 
>>> if (ret < 0 || (cached_device && !cached_device->can_enumerate)) {
>>> 
>>> to:
>>> 
>>> if (ret < 0 || !cached_device->can_enumerate) {
>>> 
>>> to reflect this.
>> 
>> That change would silence the warning, and is IMHO an appropriate fix if 
>> you're 100% sure that 'cached_device' can indeed never be null when ret >= 0.
>> 
>> I've stared at the code for a couple of seconds, and am not fully convinced 
>> myself.  After all, the very first thing darwin_get_cached_device() does is:
>> ret = 0;
>> *cached_out = NULL;
>> 
>> If those initial conditions are not changed (in some freaky branch) then the 
>> quoted checks above are not equivalent.  But I trust you know the code well!
> 
> 
> At one point there was a change that the return code was 0 but cached_out was 
> NULL. Since that is no longer the case and clang is complaining I cleaned up 
> the *cached_out = NULL and the if check. You should no longer get a warning.

Bah! After I committed that I realized the *cached_out = NULL does something 
important. Restored that and fixed some return codes.

-Nathan
------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to