[PATCH 2/2] wpcap: Implement pcap_dispatch.
André Zwing
nerv at dawncrow.de
Sat Jul 2 06:35:05 CDT 2022
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 at 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
More information about the wine-devel
mailing list