ArrayData *ZendArray::append(CVarRef v, bool copy) { if (UNLIKELY(copy)) { ZendArray *a = copyImpl(); a->nextInsert(v); return a; } nextInsert(v); return NULL; }
ArrayData *ZendArray::lvalNew(Variant *&ret, bool copy) { if (UNLIKELY(copy)) { ZendArray *a = copyImpl(); if (!a->nextInsert(null)) { ret = &(Variant::lvalBlackHole()); return a; } ASSERT(a->m_pListTail); ret = &a->m_pListTail->data; return a; } if (!nextInsert(null)) { ret = &(Variant::lvalBlackHole()); return NULL; } ASSERT(m_pListTail); ret = &m_pListTail->data; return NULL; }