diff --git a/tools/widl/parser.y b/tools/widl/parser.y index b70dab857aa..60d7d144f94 100644 --- a/tools/widl/parser.y +++ b/tools/widl/parser.y @@ -1200,7 +1200,7 @@ static type_t *make_type(unsigned char type, type_t *ref) t->fields = NULL; t->ifaces = NULL; t->typestring_offset = 0; - t->ignore = parse_only; + t->ignore = (parse_only != 0); t->is_const = FALSE; t->sign = 0; t->defined = FALSE; diff --git a/tools/widl/widltypes.h b/tools/widl/widltypes.h index 946581a1454..4d8b6d47d0e 100644 --- a/tools/widl/widltypes.h +++ b/tools/widl/widltypes.h @@ -208,9 +208,13 @@ struct _type_t { ifref_list_t *ifaces; /* coclasses */ type_t *orig; /* dup'd types */ unsigned int typestring_offset; - int ignore, is_const, sign; - int defined, written, user_types_registered; int typelib_idx; + unsigned int ignore : 1; + unsigned int is_const : 1; + unsigned int defined : 1; + unsigned int written : 1; + unsigned int user_types_registered : 1; + int sign : 2; }; struct _var_t {