initialize bitfields through a union to keep purify happy

This commit is contained in:
peterl%netscape.com 1999-04-02 18:51:28 +00:00
Родитель ee221130d7
Коммит ad625281d0
3 изменённых файлов: 24 добавлений и 12 удалений

Просмотреть файл

@ -147,17 +147,21 @@ private:
public: public:
nsMapAttributesFunc mMapFunc; nsMapAttributesFunc mMapFunc;
nsIHTMLAttributes* mAttributes; nsIHTMLAttributes* mAttributes;
union {
struct {
PRUint32 mHashSet: 1; PRUint32 mHashSet: 1;
PRUint32 mHashCode: 31; PRUint32 mHashCode: 31;
}; };
PRUint32 mBitfiledInitializer; // this is a hack to allow initialization without pruify complaining about a UMR
};
};
AttributeKey::AttributeKey(nsMapAttributesFunc aMapFunc, nsIHTMLAttributes* aAttributes) AttributeKey::AttributeKey(nsMapAttributesFunc aMapFunc, nsIHTMLAttributes* aAttributes)
: mMapFunc(aMapFunc), : mMapFunc(aMapFunc),
mAttributes(aAttributes) mAttributes(aAttributes)
{ {
NS_ADDREF(mAttributes); NS_ADDREF(mAttributes);
mHashSet = 0; mBitfiledInitializer = 0;
mHashCode = 0;
} }
AttributeKey::~AttributeKey(void) AttributeKey::~AttributeKey(void)

Просмотреть файл

@ -147,17 +147,21 @@ private:
public: public:
nsMapAttributesFunc mMapFunc; nsMapAttributesFunc mMapFunc;
nsIHTMLAttributes* mAttributes; nsIHTMLAttributes* mAttributes;
union {
struct {
PRUint32 mHashSet: 1; PRUint32 mHashSet: 1;
PRUint32 mHashCode: 31; PRUint32 mHashCode: 31;
}; };
PRUint32 mBitfiledInitializer; // this is a hack to allow initialization without pruify complaining about a UMR
};
};
AttributeKey::AttributeKey(nsMapAttributesFunc aMapFunc, nsIHTMLAttributes* aAttributes) AttributeKey::AttributeKey(nsMapAttributesFunc aMapFunc, nsIHTMLAttributes* aAttributes)
: mMapFunc(aMapFunc), : mMapFunc(aMapFunc),
mAttributes(aAttributes) mAttributes(aAttributes)
{ {
NS_ADDREF(mAttributes); NS_ADDREF(mAttributes);
mHashSet = 0; mBitfiledInitializer = 0;
mHashCode = 0;
} }
AttributeKey::~AttributeKey(void) AttributeKey::~AttributeKey(void)

Просмотреть файл

@ -147,17 +147,21 @@ private:
public: public:
nsMapAttributesFunc mMapFunc; nsMapAttributesFunc mMapFunc;
nsIHTMLAttributes* mAttributes; nsIHTMLAttributes* mAttributes;
union {
struct {
PRUint32 mHashSet: 1; PRUint32 mHashSet: 1;
PRUint32 mHashCode: 31; PRUint32 mHashCode: 31;
}; };
PRUint32 mBitfiledInitializer; // this is a hack to allow initialization without pruify complaining about a UMR
};
};
AttributeKey::AttributeKey(nsMapAttributesFunc aMapFunc, nsIHTMLAttributes* aAttributes) AttributeKey::AttributeKey(nsMapAttributesFunc aMapFunc, nsIHTMLAttributes* aAttributes)
: mMapFunc(aMapFunc), : mMapFunc(aMapFunc),
mAttributes(aAttributes) mAttributes(aAttributes)
{ {
NS_ADDREF(mAttributes); NS_ADDREF(mAttributes);
mHashSet = 0; mBitfiledInitializer = 0;
mHashCode = 0;
} }
AttributeKey::~AttributeKey(void) AttributeKey::~AttributeKey(void)