Wireshark-dev: Re: [Wireshark-dev] Unix compiling errors

From: Evan Huus <eapache@xxxxxxxxx>
Date: Tue, 1 Dec 2015 10:29:17 -0500
On Tue, Dec 1, 2015 at 10:25 AM, POZUELO Gloria (BCS/PSD)
<gloria.pozuelo@xxxxxxxx> wrote:
> Hi all,
>
>
>
> I’d like to ask you, how could I fix this error, since I’m working on a
> Windows environment and this error only appears by compiling for Unix.
>
>
>
> error: request for implicit conversion from ‘void *’ to ‘void **’ not
> permitted in C++ [-Werror=c++-compat]
>
>      while (!found && g_hash_table_iter_next(&iter, (gpointer)&gtp_info,
> (gpointer)&f)) {
>
>      ^
>
> Looking at the Glib reference we can see that g_hash_table_iter_next needs 2
> gpointer parameters, but it seems to me that this is the cause of the
> error…. gtp_info is a struct and f is a guint32*.

It expects the second parameter to be a `gpointer *`, but you are only
casting it to a gpointer - you should try `(gpointer *)&f` for the key
parameter.

> gboolean
>
> g_hash_table_iter_next (GHashTableIter *iter,
>
>                         gpointer *key,
>
>                         gpointer *value);
>
>
>
> And finally I have some doubts about this other error:
>
> error: cast to pointer from integer of different size
> [-Werror=int-to-pointer-cast]
>
>              g_slist_foreach(teid_list, (GFunc)teid_loop,
> (gpointer)pinfo->fd->num);
>
>                                                           ^
>
> This can be solve by using GINT_TO_POINTER function?

It should be.

>
> Thank you very much in advance,
>
>
>
> Regards.
>
>
> ________________________________
>
> **** DISCLAIMER****
> http://www.bics.com/maildisclaimer/
>
> ___________________________________________________________________________
> Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
> Archives:    https://www.wireshark.org/lists/wireshark-dev
> Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
>              mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe