void assure_key(hashmap *map, char *key) { if(!hm_isset(map, key)) { fprintf(stderr, "Error: Could not find the key \"%s\"\n", key); hm_dump(map, stderr, NULL); exit(EXIT_FAILURE); } }
int main(int argc, char **argv) { char errbuf[PCAP_ERRBUF_SIZE]; pcap_t *pcap_src = NULL; opt_register_table(opts, NULL); if (!opt_parse(&argc, argv, opt_log_stderr)) return 1; if (!g_ifc_name && !g_file_name) return err_ret("No packet source specified\n"); if (g_ifc_name && g_file_name) return err_ret("Both file and interface source specified\n"); if (g_ifc_name) pcap_src = pcap_open_live(g_ifc_name, PCAP_SNAPLEN_ALL, 1, -1, errbuf); else if (g_file_name) pcap_src = pcap_open_offline(g_file_name, errbuf); if (!pcap_src) { fprintf(stderr, "Couldn't open packet source: %s\n", errbuf); return 1; } pcap_loop(pcap_src, PCAP_CNT_INF, packet_cb, NULL); pcap_close(pcap_src); if (g_dump) dist_dump(dist1, dist2, dist_min); if (g_hm) hm_dump(); return 0; }