Bug #3059
closed
sbin/camcontrol/camcontrol.c: pointless code ?
Added by dcb over 7 years ago.
Updated about 7 years ago.
Description
dragonfly/sbin/camcontrol/camcontrol.c:688] -> [dragonfly/sbin/camcontrol/camcontrol.c:694]: (warning) Identical condition 'error!=0', second condition is always false
Source code is
if (error != 0)
return(error);
if (arglist & CAM_ARG_GET_SERIAL)
scsiserial(device, retry_count, timeout);
if (error != 0)
return(error);
Perhaps assignment to `error' is missing? Like this:
diff --git a/sbin/camcontrol/camcontrol.c b/sbin/camcontrol/camcontrol.c
index 0fef6e5..1b98c47 100644
--- a/sbin/camcontrol/camcontrol.c
+++ b/sbin/camcontrol/camcontrol.c
@ -689,7 +689,7
@ scsidoinquiry(struct cam_device *device, int argc, char **argv,
return(error);
if (arglist & CAM_ARG_GET_SERIAL)
- scsiserial(device, retry_count, timeout);
+ error = scsiserial(device, retry_count, timeout);
if (error != 0)
return(error);
As discussed on IRC with swildner, I've sent an email to ngie (freebsd.org) and asked him about reasoning behind fixing this warning in FreeBSD simply by removing the condition which follows my proposed change. This "problem" appears to be present since the beginning of FreeBSD SVN repository so I couldn't find any more info on why return value from scsiserial is not taken into account.
--
Lubos Boucek
- Status changed from New to Closed
I've pushed the fix, thanks!
Also available in: Atom
PDF