Ethereal-dev: Re: [Ethereal-dev] anon cvs compile problem (Win32)

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxx>
Date: Wed, 27 Feb 2002 13:27:20 -0800
On Wed, Feb 27, 2002 at 12:50:15PM -0500, Mike Frisch wrote:
> Since nobody else has mentioned this problem, I suspect it is something
> to do with my configuration.

There are other reasons why nobody else might have mentioned the
problem, such as "the problem was the result of a recent checkin, and
you're the first person to try a Windows build with the CVS source
following that checkin".

> plugins/plugin_api_defs.h(61):  addr_call_dissector        p_call_dissector;
> 
> epan/packet.h(217):  extern int call_dissector(dissector_handle_t
> handle, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);

You need to look in one other place:

plugins/plugin_table.h(72): typedef void (*addr_call_dissector)(dissector_handle_t, tvbuff_t *,

"void" != "int".

> I am able to successfully build 0.9.1 in the same environment,

That's because "call_dissector()" returned "void" in 0.9.1, and the
"plugins/plugin_table.h" and "epan/packet.h" declarations agreed.

> so I am sure this is something simple.

Yes, it's something simple - it's an error in the current CVS code.

I've checked in a fix (changing "plugins/plugin_table.h" to declare it
as returning "int" rather than "void").  It should show up in the
anonymous CVS tree in a few minutes, I suspect.