Fix some RefData<->TypedValue<->Variant<->Value type puns
Our ext_hhvm generated code is casting TypedValue* to Value* on the assumption that the offset of TypedValue::m_data is 0. Fix this assumption, and also while in the same code, replace some (t == KindOfString || t == KindOfStaticString) with IS_STATIC_STRING(t), which does a single bit test instead of two comparisons.
Esse commit está contido em:
@@ -550,7 +550,7 @@ MArrayIter::~MArrayIter() {
|
||||
}
|
||||
// unprotect the data
|
||||
if (hasVar()) {
|
||||
RefData* ref = (RefData*)getVar();
|
||||
RefData* ref = RefData::refDataFromVariantIfYouDare(getVar());
|
||||
decRefRef(ref);
|
||||
} else if (hasAd()) {
|
||||
decRefArr(getAd());
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário