Ethereal-dev: [Ethereal-dev] idl2ethereal and ethereal_py.gen

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

Date: Fri, 19 Apr 2002 10:43:07 +0300
	ethereal 0.9.3

	I have problem decribed below.
	I change ethereal_gen.py at line 999

	elif pt ==  idltype.tk_TypeCode: # will I ever get here ?
                    self.get_CDR_TypeCode(pn)
	        # self.get_CDR_TypeCode(type,pn)

	Now I can make plugin from idl ...  
	
	Is this change ok ???

	Mika 


>	Hi 
>
>	I have some problem to with idl2eth feature.
>	I got idl:
>	module Test {
>  	   interface A {
>  	      CORBA::TypeCode get_type_code();
>	  };
>	};
>
>	This is "part" of idl CosNotifyFilter.idl
>	
>	When trying to make GIOP plugin, it fails with error text...
>
>	Mika
>
>[xyz@beam I_CosNot]$ omniidl -I./ -p /home/xyz/ethereal-0.9.3  -bethereal_be Test.idl
>XXX genOperation called
>XXX opnode  =  <omniidl.idlast.Operation instance at 8114300>
>XXX return type  =  <omniidl.idltype.Base instance at 81023c0>
>XXX return type.unalias  =  <omniidl.idltype.Base instance at 81023c0>
>XXX return type.kind()  =  12
>XXX getCDR3: kind =  12
>Traceback (innermost last):
>  File "/usr/local/bin/omniidl", line 105, in ?
>    omniidl.main.main()
>  File "/usr/lib/python1.5/site-packages/omniidl/main.py", line 413, in main
>    bemodules[i].run(tree, backends_args[i])
>  File "/home/xyz/ethereal-0.9.3/ethereal_be.py", line 317, in run
>    eg.genCode(ev.oplist, ev.atlist, ev.enlist, ev.stlist, ev.unlist)    # pass them onto the C generator
>  File "/home/xyz/ethereal-0.9.3/ethereal_gen.py", line 177, in genCode
>    self.genHelpers(oplist,stlist,unlist)  # sneaky .. call it now, to populate the fn_hash
>  File "/home/xyz/ethereal-0.9.3/ethereal_gen.py", line 706, in genHelpers
>    self.genOperation(op)
>  File "/home/xyz/ethereal-0.9.3/ethereal_gen.py", line 758, in genOperation
>    self.genOperationReply(opnode)
>  File "/home/xyz/ethereal-0.9.3/ethereal_gen.py", line 824, in genOperationReply
>    self.getCDR3(rt, "Operation_Return_Value")    # return value is NOT an alias
>  File "/home/xyz/ethereal-0.9.3/ethereal_gen.py", line 999, in getCDR3
>    self.get_CDR_TypeCode(type,pn)
>TypeError: too many arguments; expected 2, got 3
>[xyz@beam I_CosNot]$