C код не распечатывает все это
Прежде всего, извините, если вопрос уже был задан, я не смог его найти (или что-то подобное). Моя проблема примерно такая: я пишу код на C (сетевые вещи) и, во-первых, я просто хочу распечатать все доступные интерфейсы моего сетевого адаптера (скажем, до сих пор у меня 30 строк, включая препроцессор), Все отлично. После этого я хотел добавить некоторые дополнительные вещи (захватить несколько пакетов). Поэтому я пишу еще несколько строк (объявляю переменные, вызываю функции, проверяю, вернулись ли значения в порядке, и распечатываю некоторые вещи). Допустим, у меня сейчас 50 строк. Теперь, если я компилирую и запускаю свою программу, она распечатывает интерфейсы (до строки 30), но остальные игнорирует. Я даже поместил несколько случайных printf ниже, просто чтобы посмотреть, распечатаны ли они, но это не так. Если кто знает что не так, помогите пожалуйста. Спасибо!
#include<stdio.h>
#include<stdlib.h>
#include<sys/socket.h>
#include<pcap.h>
#include<errno.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
#include <netinet/if_ether.h>
int main(int argc, char *argv[])
{
pcap_t* descr;
const u_char* packet;
struct pcap_pkthdr* hdr;
char* user_input;
char errbuf[PCAP_ERRBUF_SIZE];
pcap_if_t* alldevs;
if(pcap_findalldevs(&alldevs, errbuf) != 0) {
printf("Error while finding devs\n%s", errbuf);
exit(1);
}
pcap_if_t* d = alldevs;
while(d != NULL) {
printf("%s\n", d->name);
d = d->next;
}
scanf("%s", user_input);
struct in_addr addr;
int ip, mask;
int ret = pcap_lookupnet(user_input, &ip, &mask, errbuf);
addr.s_addr = ip;
printf("NETWORK: %s \n", inet_ntoa(addr));
// =======================================
descr = pcap_open_live(user_input, BUFSIZ, 0, -1, errbuf);
if(descr == NULL) {
printf("Error: %s\n", errbuf);
exit(1);
}
packet = pcap_next(descr, hdr);
if(packet == NULL) {
printf("Error, packet is NULL\n");
exit(1);
}
printf("AAAAAAAAAAAAA\n");
return 0;
}