Ethereal-dev: [Ethereal-dev] fixing the build
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: "Stefan (metze) Metzmacher" <metze@xxxxxxxxx>
Date: Tue, 18 Apr 2006 17:35:19 +0200
Hi, can someone apply this patch, the problem is that register_all_protocols() exists twice, but the the internal one is called twice, and registering the same protocol twice isn't allowed... thanks! metze
=== epan/dissectors/Makefile.am ================================================================== --- epan/dissectors/Makefile.am (revision 2196) +++ epan/dissectors/Makefile.am (local) @@ -79,10 +79,11 @@ $(top_srcdir)/tools/make-reg-dotc.py @if test -n $(PYTHON); then \ echo Making register.c with python ; \ - $(PYTHON) $(top_srcdir)/tools/make-reg-dotc.py $(srcdir) $(DISSECTOR_SRC) ; \ + $(PYTHON) $(top_srcdir)/tools/make-reg-dotc.py $(srcdir) "all" \ + $(plugin_src) $(DISSECTOR_SRC) ; \ else \ echo Making register.c with shell script ; \ - $(top_srcdir)/tools/make-reg-dotc register.c $(srcdir) \ + $(SHELL) $(top_srcdir)/tools/make-reg-dotc register.c $(srcdir) "all" \ $(plugin_src) $(DISSECTOR_SRC) ; \ fi === epan/dissectors/Makefile.nmake ================================================================== --- epan/dissectors/Makefile.nmake (revision 2196) +++ epan/dissectors/Makefile.nmake (local) @@ -74,10 +74,10 @@ register.c: $(DISSECTOR_SRC) !IFDEF PYTHON @echo Making register.c (using python) - @$(PYTHON) ../../tools/make-reg-dotc.py . $(DISSECTOR_SRC) + @$(PYTHON) ../../tools/make-reg-dotc.py . "all" $(DISSECTOR_SRC) !ELSE @echo Making register.c (using sh) - @$(SH) ../../tools/make-reg-dotc register.c . $(DISSECTOR_SRC) + @$(SH) ../../tools/make-reg-dotc register.c . "all" $(DISSECTOR_SRC) !ENDIF packet-ncp2222.c : ncp2222.py === plugins/docsis/Makefile.am ================================================================== --- plugins/docsis/Makefile.am (revision 2196) +++ plugins/docsis/Makefile.am (local) @@ -71,11 +71,10 @@ $(top_srcdir)/tools/make-reg-dotc.py @if test -n $(PYTHON); then \ echo Making register.c with python ; \ - $(PYTHON) $(top_srcdir)/tools/make-reg-dotc.py $(srcdir) $(DISSECTOR_SRC) ; \ + $(PYTHON) $(top_srcdir)/tools/make-reg-dotc.py $(srcdir) "docsis" $(DISSECTOR_SRC) ; \ else \ echo Making register.c with shell script ; \ - $(top_srcdir)/tools/make-reg-dotc register.c $(srcdir) \ - $(plugin_src) $(DISSECTOR_SRC) ; \ + $(SHELL) $(top_srcdir)/tools/make-reg-dotc register.c $(srcdir) "docsis" $(DISSECTOR_SRC) ; \ fi # === plugins/docsis/Makefile.nmake ================================================================== --- plugins/docsis/Makefile.nmake (revision 2196) +++ plugins/docsis/Makefile.nmake (local) @@ -62,10 +62,10 @@ register.c: $(DISSECTOR_SRC) !IFDEF PYTHON @echo Making register.c (using python) - @$(PYTHON) ../../tools/make-reg-dotc.py . $(DISSECTOR_SRC) + @$(PYTHON) ../../tools/make-reg-dotc.py . "docsis" $(DISSECTOR_SRC) !ELSE @echo Making register.c (using sh) - @$(SH) ../../tools/make-reg-dotc register.c . $(DISSECTOR_SRC) + @$(SH) ../../tools/make-reg-dotc register.c . "docsis" $(DISSECTOR_SRC) !ENDIF !ENDIF === plugins/docsis/plugin.c ================================================================== --- plugins/docsis/plugin.c (revision 2196) +++ plugins/docsis/plugin.c (local) @@ -45,7 +45,7 @@ /* register the new protocol, protocol fields, and subtrees */ if (!registered) { - register_all_protocols(); + register_docsis_protocols(); registered = TRUE; } } @@ -53,7 +53,7 @@ G_MODULE_EXPORT void plugin_reg_handoff (void) { - register_all_protocol_handoffs(); + register_docsis_protocol_handoffs(); } #endif === tools/make-reg-dotc ================================================================== --- tools/make-reg-dotc (revision 2196) +++ tools/make-reg-dotc (local) @@ -18,6 +18,14 @@ shift # +# The third argument is the section name +# we generate e.g. +# register_<section>_protocols +# +section="$1" +shift + +# # All subsequent arguments are the files to scan. # rm -f ${outfile}-tmp @@ -28,7 +36,7 @@ # # Build code to call all the protocol registration routines. # -echo 'void register_all_protocols(void) {' >>${outfile}-tmp +echo "void register_${section}_protocols(void) {" >>${outfile}-tmp for f in "$@" do if [ -f $f ] @@ -54,7 +62,7 @@ # # Build code to call all the protocol handoff registration routines. # -echo 'void register_all_protocol_handoffs(void) {' >>${outfile}-tmp +echo "void register_${section}_protocol_handoffs(void) {" >>${outfile}-tmp for f in "$@" do if [ -f $f ] === tools/make-reg-dotc.py ================================================================== --- tools/make-reg-dotc.py (revision 2196) +++ tools/make-reg-dotc.py (local) @@ -24,9 +24,16 @@ srcdir = sys.argv[1] # +# The second argument is the section name +# we generate e.g. +# register_<section>_protocols +# +section = sys.argv[2] + +# # All subsequent arguments are the files to scan. # -files = sys.argv[2:] +files = sys.argv[3:] reg_code = open(tmp_filename, "w") @@ -84,7 +91,8 @@ handoff_reg.sort() # Make register_all_protocols() -reg_code.write("void register_all_protocols(void) {\n") +line = "void register_%s_protocols(void) {\n" % (section) +reg_code.write(line) for symbol in proto_reg: line = " {extern void %s (void); %s ();}\n" % (symbol, symbol) @@ -94,7 +102,8 @@ # Make register_all_protocol_handoffs() -reg_code.write("void register_all_protocol_handoffs(void) {\n") +line = "void register_%s_protocol_handoffs(void) {\n" % (section) +reg_code.write(line) for symbol in handoff_reg: line = " {extern void %s (void); %s ();}\n" % (symbol, symbol) @@ -114,5 +123,3 @@ # Move from tmp file to final file os.rename(tmp_filename, final_filename) - -
Attachment:
signature.asc
Description: OpenPGP digital signature
- Follow-Ups:
- Re: [Ethereal-dev] fixing the build
- From: Guy Harris
- [Ethereal-dev] Re: fixing the build
- From: Stefan (metze) Metzmacher
- Re: [Ethereal-dev] fixing the build
- Prev by Date: Re: [Ethereal-dev] Last 4 days fixes and the 1.0 release
- Next by Date: [Ethereal-dev] Re: Last 4 days fixes and the 1.0 release
- Previous by thread: Re: [Ethereal-dev] Buildbot not happy with tethereal
- Next by thread: Re: [Ethereal-dev] fixing the build
- Index(es):