On 08/26/2009 10:50 PM, Pete Zaitcev wrote:
On Wed, 26 Aug 2009 22:26:50 -0400, Jeff Garzik<[email protected]>  wrote:
On 08/26/2009 10:06 PM, Pete Zaitcev wrote:

Signed-off-by: Pete Zaitcev<[email protected]>

applied a modified version, see attached...  after that short IRC
discussion, I think an array with a range check would be nicer than
coding it (though the C compiler should make a nice, efficient table
from 'switch' statement for us...)

I don't think it's enough. Look:

+static const char *cld_errlist[] =
+{
+       [CLE_OK]                = "Success",
+       [CLE_SESS_EXISTS]       = "Session exists",

When you do indexed initializations, it's possible to create
empty array elements (currently there are none because indexes
are contiguous). So, the following needs a NULL check:

+       return cld_errlist[ecode];
+}

True in general, but do you actually see a hole?

It seems to me that our error list will always be sequential, without holes. Even if we obsolete an error, we still need to keep it around in the headers and cld_errlist[]. And new error codes will go on the end of the list...

        Jeff



--
To unsubscribe from this list: send the line "unsubscribe hail-devel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to