Cast enum vaules to integers and cast them back where appropraite

to prevent mixed enumeration type compiler warnings
This commit is contained in:
Stan Hu
2012-07-02 14:00:45 -07:00
committed by Petteri Aimonen
parent 9b1e1b440a
commit 7c5bb6541a
2 changed files with 4 additions and 4 deletions

View File

@@ -217,10 +217,10 @@ class Field:
prev_field_name is the name of the previous field or None.
'''
result = ' {%d, ' % self.tag
result += self.htype
result += '(pb_type_t) ((int) ' + self.htype
if self.ltype is not None:
result += ' | ' + self.ltype
result += ',\n'
result += ' | (int) ' + self.ltype
result += '),\n'
if prev_field_name is None:
result += ' offsetof(%s, %s),' % (self.struct_name, self.name)

2
pb.h
View File

@@ -195,7 +195,7 @@ typedef enum {
#define pb_arraysize(st, m) (pb_membersize(st, m) / pb_membersize(st, m[0]))
#define pb_delta(st, m1, m2) ((int)offsetof(st, m1) - (int)offsetof(st, m2))
#define pb_delta_end(st, m1, m2) (offsetof(st, m1) - offsetof(st, m2) - pb_membersize(st, m2))
#define PB_LAST_FIELD {0,0,0,0}
#define PB_LAST_FIELD {0,(pb_type_t) 0,0,0}
#endif