Am 02.07.22 um 13:18 schrieb Roman Pišl:
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53104 Signed-off-by: Roman Pišl rpisl@seznam.cz
dlls/wpcap/wpcap.c | 41 ++++++++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 9 deletions(-)
diff --git a/dlls/wpcap/wpcap.c b/dlls/wpcap/wpcap.c index a295819f7fe..c5a4b391af5 100644 --- a/dlls/wpcap/wpcap.c +++ b/dlls/wpcap/wpcap.c @@ -99,15 +99,6 @@ const char * CDECL pcap_datalink_val_to_name( int link ) return ret; }
-int CDECL pcap_dispatch( struct pcap *pcap, int count,
void (CALLBACK *callback)(unsigned char *, const struct pcap_pkthdr_win32 *, const unsigned char *),
unsigned char *user )
-{
- /* FIXME: reimplement on top of pcap_next_ex */
- FIXME( "%p, %d, %p, %p: not implemented\n", pcap, count, callback, user );
- return -1;
-}
- void CDECL pcap_dump( unsigned char *user, const struct pcap_pkthdr_win32 *hdr, const unsigned char *packet ) { struct dump_params params = { user, hdr, packet };
@@ -543,6 +534,38 @@ const unsigned char * CDECL pcap_next( struct pcap *pcap, struct pcap_pkthdr_win return data; }
+int CDECL pcap_dispatch( struct pcap *pcap, int count,
void (CALLBACK *callback)(unsigned char *, const struct pcap_pkthdr_win32 *, const unsigned char *),
unsigned char *user )
+{
- int processed = 0;
- TRACE( "%p, %d, %p, %p\n", pcap, count, callback, user );
- while (processed < count)
- {
struct pcap_pkthdr_win32 *hdr = 0;
const unsigned char *data = 0;
Initialize pointers with NULL instead of 0