rem: if (strcmp(ipt_get_target(e)->u.name, IPT_ERROR_TARGET) == 0) {
add: if (strcmp(ipt_get_target(e)->u.user.name, IPT_ERROR_TARGET) == 0) {
context: add_chain(struct ipt_entry *e, iptc_handle_t h, struct ipt_entry **prev){	unsigned int builtin;	/* Last entry.  End it. */	if (entry2offset(h, e) + e->next_offset == h->entries.size) {		/* This is the ERROR node at end of the table */		h->cache_chain_heads[h->cache_num_chains-1].end = *prev;		return 0;	}	/* We know this is the start of a new chain if it's an ERROR	   target, or a hook entry point */	if (strcmp(ipt_get_target(e)->u.name, IPT_ERROR_TARGET) == 0) {		/* prev was last entry in previous chain */		h->cache_chain_heads[h->cache_num_chains-1].end			= *prev;		strcpy(h->cache_chain_heads[h->cache_num_chains].name,		       (const char *)ipt_get_target(e)->data);		h->cache_chain_heads[h->cache_num_chains].start			= (void *)e + e->next_offset;		h->cache_num_chains++;	} else if ((builtin = is_hook_entry(e, h)) != 0) {		if (h->cache_num_chains > 0)			/* prev was last entry in previous chain */			h->cache_chain_heads[h->cache_num_chains-1].end				= *prev;		strcpy(h->cache_chain_heads[h->cache_num_chains].name,		       h->hooknames[builtin-1]);		h->cache_chain_heads[h->cache_num_chains].start			= (void *)e;		h->cache_num_chains++;	}	*prev = e;	return 0;}