Ethereal-dev: Re: [Ethereal-dev] Declaration trouble (gcc-4.0)

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

From: "Guy Harris" <gharris@xxxxxxxxx>
Date: Tue, 7 Dec 2004 22:38:29 -0800 (PST)
Joerg Mayer said:

> Also, the compilation of packet-etheric.c fails with:
> packet-etheric.c:240: error: static declaration of
> 'isup_parameter_type_value' follows non-static declaration
> packet-isup.h:44: error: previous declaration of
> 'isup_parameter_type_value' was here
> packet-etheric.c:344: error: static declaration of
> 'isup_transmission_medium_requirement_value' follows non-static
> declaration
> packet-isup.h:45: error: previous declaration of
> 'isup_transmission_medium_requirement_value' was here
> make[4]: *** [packet-etheric.lo] Error 1
>
> Declaring theses variables as non-static is not the right thing, as it
> will then collide with a conflicting type during linking.

The right thing to do is either to

    1) rename the Etheric tables that have the same name as ISUP tables to
have different names

or

    2) just use the ISUP tables and not define new tables in Etheric.

I made a change to do 2) for the tables in question.  If that's the right
thing to do (i.e., if Etheric will always be a subset of ISUP there),
perhaps the same should be done for other tables.  If that's not the right
thing to do, the old tables should be restored, with a new name - and
perhaps the other tables it's importing from the ISUP dissector should
also be replaced with tables private to the Etheric dissector.