rem: printf("-j %s ", ip6tc_get_target(e, h));
add: target_name = ip6tc_get_target(e, h); if (target_name && *target_name != '\0') printf("-j %s ", ip6tc_get_target(e, h));
context: static void print_rule(const struct ip6t_entry *e, 		ip6tc_handle_t *h, int counters){	struct ip6t_entry_target *t;	/* print counters */	if (counters)		printf("[%llu:%llu] ", e->counters.pcnt, e->counters.bcnt);	/* Print IP part. */	print_ip("-s", &(e->ipv6.src), &(e->ipv6.smsk),			e->ipv6.invflags & IP6T_INV_SRCIP);		print_ip("-d", &(e->ipv6.dst), &(e->ipv6.dmsk),			e->ipv6.invflags & IP6T_INV_DSTIP);	print_iface('i', e->ipv6.iniface, e->ipv6.iniface_mask,		    e->ipv6.invflags & IP6T_INV_VIA_IN);	print_iface('o', e->ipv6.outiface, e->ipv6.outiface_mask,		    e->ipv6.invflags & IP6T_INV_VIA_OUT);	print_proto(e->ipv6.proto, e->ipv6.invflags & IP6T_INV_PROTO);#if 0	// not definied in ipv6	// FIXME: linux/netfilter_ipv6/ip6_tables: IP6T_INV_FRAG why definied?	if (e->ipv6.flags & IPT_F_FRAG)		printf("%s-f ",		       e->ipv6.invflags & IP6T_INV_FRAG ? "! " : "");#endif	// TODO: i've got some problem with the code - under understanding ;)	// How can I set this?	if (e->ipv6.flags & IP6T_F_TOS)		printf("%s-? %d ",		       e->ipv6.invflags & IP6T_INV_TOS ? "! " : "", 		       e->ipv6.tos);	/* Print matchinfo part */	if (e->target_offset) {		IP6T_MATCH_ITERATE(e, print_match, &e->ipv6);	}	/* Print target name */		printf("-j %s ", ip6tc_get_target(e, h));	/* Print targinfo part */	t = ip6t_get_target((struct ip6t_entry *)e);	if (t->u.user.name[0]) {		struct ip6tables_target *target			= find_target(t->u.user.name, TRY_LOAD);		if (target)			target->save(&e->ipv6, t);		else {			/* If some bits are non-zero, it implies we *need*			   to understand it */			if (t->u.target_size) {				fprintf(stderr,					"Can't find library for target `%s'\n",					t->u.user.name);				exit(1);			}		}	}	printf("\n");}