rem: h = iptc_init(); if (!h) { fprintf(stderr, "Can't initialize: %s\n", iptc_strerror(errno)); exit(1); }  if (!binary) { time_t now = time(NULL);  printf("# Generated by iptables-save v%s on %s", NETFILTER_VERSION, ctime(&now));   while ((chain = iptc_next_chain(chain, &h)) != NULL) { printf(":%s ", chain); if (iptc_builtin(chain, &h)) { struct ipt_counters count; printf("%s ", iptc_get_policy(chain, &count, &h)); printf("%llu %llu\n", count.pcnt, count.bcnt); } else { printf("- 0 0\n"); } }   while ((chain = iptc_next_chain(chain, &h)) != NULL) { unsigned int i;  for (i = 0; i < iptc_num_rules(chain, &h); i++) { const struct ipt_entry *e = iptc_get_rule(chain, i, &h);  if (!e) { fprintf(stderr, "Can't read rule %u of chain %s: %s\n", i, chain, iptc_strerror(errno)); exit(1); } print_rule(e, counters); } }  now = time(NULL); printf("COMMIT\n"); printf("# Completed on %s", ctime(&now)); } else {  fprintf(stderr, "Binary NYI\n"); exit(1); }  return 0;
add: return !do_output(tablename);
context: int main(int argc, char *argv[]){	iptc_handle_t h;	const char *chain = NULL;	int c;	int binary = 0, counters = 0;	program_name = "iptables-save";	program_version = NETFILTER_VERSION;	while ((c = getopt_long(argc, argv, "bc", options, NULL)) != -1) {		switch (c) {		case 'b':			binary = 1;			break;		case 'c':			counters = 1;			break;		case 'd':			/* Debugging dump. */			h = iptc_init();			if (!h)				exit_error(OTHER_PROBLEM, "iptc_init: %s\n",					   iptc_strerror(errno));			dump_entries(h);			exit(0);		}	}	if (optind < argc) {		fprintf(stderr, "Unknown arguments found on commandline");		exit(1);	}	h = iptc_init();	if (!h) {		fprintf(stderr, "Can't initialize: %s\n",			iptc_strerror(errno));		exit(1);	}	if (!binary) {		time_t now = time(NULL);		printf("# Generated by iptables-save v%s on %s",		       NETFILTER_VERSION, ctime(&now));		/* Dump out chain names */		while ((chain = iptc_next_chain(chain, &h)) != NULL) {			printf(":%s ", chain);			if (iptc_builtin(chain, &h)) {				struct ipt_counters count;				printf("%s ",				       iptc_get_policy(chain, &count, &h));				printf("%llu %llu\n", count.pcnt, count.bcnt);			} else {				printf("- 0 0\n");			}		}		/* Dump out rules */		while ((chain = iptc_next_chain(chain, &h)) != NULL) {			unsigned int i;			for (i = 0; i < iptc_num_rules(chain, &h); i++) {				const struct ipt_entry *e					= iptc_get_rule(chain, i, &h);				if (!e) {					fprintf(stderr,						"Can't read rule %u of chain %s: %s\n",						i, chain, iptc_strerror(errno));					exit(1);				}				print_rule(e, counters);			}		}		now = time(NULL);		printf("COMMIT\n");		printf("# Completed on %s", ctime(&now));	} else {		/* Binary, huh?  OK. */		fprintf(stderr, "Binary NYI\n");		exit(1);	}	return 0;}