[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