Jan Engelhardt wrote:
On Wednesday 2008-04-09 15:12, Patrick McHardy wrote
The array declarations should then use NFPROTO_MAX + 1.
Why +1 if MAX is ARP?
Because array indices start at zero.
It's all whacked up, srsly.
#define AF_RXRPC 33
#define AF_MAX 34
IMHO we should just:
enum {
NFPROTO_FOO = AF_MAX,
NFPROTO_BAR,
NFPROTO_BAZ,
NFPROTO_MAX,
};
and use NFPROTO_MAX in lieu of AF_MAX where due.
Putting that into place with ARP means:
enum {
NFPROTO_ARP = AF_MAX,
NFPROTO_MAX,
};
and use NFPROTO_MAX. No __NFPROTO_MIN, no __NFPROTO_MAX, and
less confusion overall. How about it? :)
The decoupling of netfilter supported protocols from AF values
makes sense.
However I think _MAX definitions actually having the value MAX + 1
is pretty poor style. When you see an array dimensioned as
[XYZ_MAX] you always have to check whether it is really the maximum
(and thus a bug) or maximum + 1. So I'd prefer to have MAX really
be the maximum and use max + 1 for arrays etc.
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html