add: }  old = find_match(me->name, DONT_LOAD, NULL); if (old) { if (old->revision == me->revision) { fprintf(stderr, "%s: match `%s' already registered.\n", program_name, me->name); exit(1); }   if (compatible_match_revision(old->name, old->revision) && old->revision > me->revision) return;   if (!compatible_match_revision(me->name, me->revision)) return;   for (i = &iptables_matches; *i!=old; i = &(*i)->next); *i = old->next;
context: register_match(struct iptables_match *me){	struct iptables_match **i;	if (strcmp(me->version, program_version) != 0) {		fprintf(stderr, "%s: match `%s' v%s (I'm v%s).\n",			program_name, me->name, me->version, program_version);		exit(1);	}	if (find_match(me->name, DONT_LOAD, NULL)) {		fprintf(stderr, "%s: match `%s' already registered.\n",			program_name, me->name);		exit(1);	}	if (me->size != IPT_ALIGN(me->size)) {		fprintf(stderr, "%s: match `%s' has invalid size %u.\n",			program_name, me->name, (unsigned int)me->size);		exit(1);	}	/* Append to list. */	for (i = &iptables_matches; *i; i = &(*i)->next);	me->next = NULL;	*i = me;	me->m = NULL;	me->mflags = 0;}