Ethereal-dev: [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: Joerg Mayer <jmayer@xxxxxxxxx>
Date: Wed, 8 Dec 2004 06:33:47 +0100
Hello,

I've just tried to compile Ethereal with the current gcc-4.0 snapshot
(5th, Dec).
I needed to apply some patches to make some files compile. Unfortunately,
these are generated files, so please if someone could have a look at them
and apply the patch to the right file in the right place please....

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. Please have a look at this too.

Ciao
      Joerg (who needs to get some sleep before touching code again)

Index: packet-cmip.c
===================================================================
--- packet-cmip.c	(revision 12685)
+++ packet-cmip.c	(working copy)
@@ -289,6 +289,8 @@
 static char objectclass_identifier_id[64]; /*64 chars should be long enough? */
 
 
+static int dissect_cmip_InvokeIDType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info*pinfo _U_, proto_tree *tree, int hf_index _U_);
+
 /*--- Included file: packet-cmip-fn.c ---*/
 
 /*--- Cyclic dependencies ---*/
Index: packet-ocsp.c
===================================================================
--- packet-ocsp.c	(revision 12685)
+++ packet-ocsp.c	(working copy)
@@ -188,7 +188,7 @@
 }
 
 
-static const value_string Version_vals[] = {
+static const value_string OCSPVersion_vals[] = {
   {   0, "v1" },
   { 0, NULL }
 };
@@ -838,7 +838,7 @@
         "OCSPRequest/optionalSignature", HFILL }},
     { &hf_ocsp_version,
       { "version", "ocsp.version",
-        FT_INT32, BASE_DEC, VALS(Version_vals), 0,
+        FT_INT32, BASE_DEC, VALS(OCSPVersion_vals), 0,
         "", HFILL }},
     { &hf_ocsp_requestorName,
       { "requestorName", "ocsp.requestorName",
Index: packet-cms.c
===================================================================
--- packet-cms.c	(revision 12685)
+++ packet-cms.c	(working copy)
@@ -182,6 +182,7 @@
 
 /*--- End of included file: packet-cms-ett.c ---*/
 
+static int dissect_cms_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_);
 
 static char object_identifier_id[64]; /*64 chars should be long enough? */
 
-- 
Joerg Mayer                                           <jmayer@xxxxxxxxx>
We are stuck with technology when what we really want is just stuff that
works. Some say that should read Microsoft instead of technology.