rem: if (strcmp(ipt_get_target(e)->u.name, IPT_STANDARD_TARGET) != 0) return ipt_get_target(e)->u.name;
add: if (strcmp(ipt_get_target(e)->u.user.name, IPT_STANDARD_TARGET) != 0) return ipt_get_target(e)->u.user.name;
context: target_name(iptc_handle_t handle, const struct ipt_entry *ce){	int spos;	unsigned int labelidx;	struct ipt_entry *jumpto;	/* To avoid const warnings */	struct ipt_entry *e = (struct ipt_entry *)ce;	if (strcmp(ipt_get_target(e)->u.name, IPT_STANDARD_TARGET) != 0)		return ipt_get_target(e)->u.name;	/* Standard target: evaluate */	spos = *(int *)ipt_get_target(e)->data;	if (spos < 0) {		if (spos == IPT_RETURN)			return IPTC_LABEL_RETURN;		else if (spos == -NF_ACCEPT-1)			return IPTC_LABEL_ACCEPT;		else if (spos == -NF_DROP-1)			return IPTC_LABEL_DROP;		else if (spos == -NF_QUEUE-1)			return IPTC_LABEL_QUEUE;		fprintf(stderr, "ERROR: off %lu/%u not a valid target (%i)\n",			entry2offset(handle, e), handle->entries.size,			spos);		abort();	}	jumpto = get_entry(handle, spos);	/* Fall through rule */	if (jumpto == (void *)e + e->next_offset)		return "";	/* Must point to head of a chain: ie. after error rule */	labelidx = entry2index(handle, jumpto) - 1;	return get_errorlabel(handle, index2offset(handle, labelidx));}