rem: CHECK(*handle);
context: iptc_delete_chain(const ipt_chainlabel chain, iptc_handle_t *handle){	unsigned int labelidx, labeloff;	unsigned int references;	struct chain_cache *c;	int ret;	CHECK(*handle);	if (!iptc_get_references(&references, chain, handle))		return 0;	iptc_fn = iptc_delete_chain;	if (iptc_builtin(chain, *handle)) {		errno = EINVAL;		return 0;	}	if (references > 0) {		errno = EMLINK;		return 0;	}	if (!(c = find_label(chain, *handle))) {		errno = ENOENT;		return 0;	}	if ((void *)c->start != c->end) {		errno = ENOTEMPTY;		return 0;	}	/* Need label index: preceeds chain start */	labelidx = entry2index(*handle, c->start) - 1;	labeloff = index2offset(*handle, labelidx);	ret = delete_rules(2,			   get_entry(*handle, labeloff)->next_offset			   + c->start->next_offset,			   labeloff, labelidx, handle);	CHECK(*handle);	return ret;}