diff options
author | Jörg Mayer <jmayer@loplof.de> | 2004-02-20 13:51:30 +0000 |
---|---|---|
committer | Jörg Mayer <jmayer@loplof.de> | 2004-02-20 13:51:30 +0000 |
commit | 6d421d36dd45283207095a3abbaeffb67b26c441 (patch) | |
tree | f262f5498427fffc325581bf74d310795a999e87 /ethereal_gen.py | |
parent | 339e52c355c286f0a3b6b5050074242fdcfed1a3 (diff) |
Frederic Peters: handle ulong and ushort
svn path=/trunk/; revision=10132
Diffstat (limited to 'ethereal_gen.py')
-rw-r--r-- | ethereal_gen.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/ethereal_gen.py b/ethereal_gen.py index ef2d946bb6..78bd1fca28 100644 --- a/ethereal_gen.py +++ b/ethereal_gen.py @@ -1,6 +1,6 @@ # -*- python -*- # -# $Id: ethereal_gen.py,v 1.28 2002/08/02 23:35:46 jmayer Exp $ +# $Id: ethereal_gen.py,v 1.29 2004/02/20 13:51:30 jmayer Exp $ # # ethereal_gen.py (part of idl2eth) # @@ -1192,10 +1192,18 @@ class ethereal_gen_C: self.st.out(self.template_union_code_save_discriminant_long, discname=un.identifier() ) self.addvar(self.c_s_disc + un.identifier() + ";") + elif (st.kind() == idltype.tk_ulong): + self.st.out(self.template_union_code_save_discriminant_ulong, discname=un.identifier() ) + self.addvar(self.c_s_disc + un.identifier() + ";") + elif (st.kind() == idltype.tk_short): self.st.out(self.template_union_code_save_discriminant_short, discname=un.identifier() ) self.addvar(self.c_s_disc + un.identifier() + ";") + elif (st.kind() == idltype.tk_ushort): + self.st.out(self.template_union_code_save_discriminant_ushort, discname=un.identifier() ) + self.addvar(self.c_s_disc + un.identifier() + ";") + elif (st.kind() == idltype.tk_boolean): self.st.out(self.template_union_code_save_discriminant_boolean, discname=un.identifier() ) self.addvar(self.c_s_disc + un.identifier() + ";") @@ -2690,9 +2698,17 @@ disc_s_@discname@ = (gint32) u_octet4; /* save Enum Value discriminant and disc_s_@discname@ = (gint32) s_octet4; /* save gint32 discriminant and cast to gint32 */ """ + template_union_code_save_discriminant_ulong = """\ +disc_s_@discname@ = (gint32) u_octet4; /* save guint32 discriminant and cast to gint32 */ +""" + template_union_code_save_discriminant_short = """\ disc_s_@discname@ = (gint32) s_octet2; /* save gint16 discriminant and cast to gint32 */ """ + + template_union_code_save_discriminant_ushort = """\ +disc_s_@discname@ = (gint32) u_octet2; /* save guint16 discriminant and cast to gint32 */ +""" template_union_code_save_discriminant_char = """\ disc_s_@discname@ = (gint32) u_octet1; /* save guint1 discriminant and cast to gint32 */ |