Teo@Unix
18-12-2009, 10:10
Ciao,
stò rilevando molti problemi con la funzione pcap_next() che dovrebbe restituirmi un puntatore "const u_char*".
pcap_next() mi ritorna un pacchetto, ma la variabile const u_char* non mi varia, probabilemnte per colpa di "const"???
questo è il docie che controlla la funzione:
void TCPMon::GetNextPacket()
{
struct pcap_pkthdr* pcap_header = new(struct pcap_pkthdr);
if((packet = pcap_next(handle,pcap_header)) == NULL)
{
ErrorBuffer->clear();
ErrorBuffer->append("Cattura pacchetto non riuscita");
PrintErrorAndExit();
}
delete pcap_header;
}
packet è una variabile private della classe.
La routine if, non entra mai nel ciclo di errore, anche se packet è == '\0'.
Non posso no dichiarare "const" packet perchè mi da un errore di compilazione. Sapete darmi un consiglio?
Grazie.
stò rilevando molti problemi con la funzione pcap_next() che dovrebbe restituirmi un puntatore "const u_char*".
pcap_next() mi ritorna un pacchetto, ma la variabile const u_char* non mi varia, probabilemnte per colpa di "const"???
questo è il docie che controlla la funzione:
void TCPMon::GetNextPacket()
{
struct pcap_pkthdr* pcap_header = new(struct pcap_pkthdr);
if((packet = pcap_next(handle,pcap_header)) == NULL)
{
ErrorBuffer->clear();
ErrorBuffer->append("Cattura pacchetto non riuscita");
PrintErrorAndExit();
}
delete pcap_header;
}
packet è una variabile private della classe.
La routine if, non entra mai nel ciclo di errore, anche se packet è == '\0'.
Non posso no dichiarare "const" packet perchè mi da un errore di compilazione. Sapete darmi un consiglio?
Grazie.