nsCRT::memcpy(mNameBuffer, mAttrNames, index * sizeof(nsIAtom*));
memcpy(mNameBuffer, mAttrNames, index * sizeof(nsIAtom*));
HTMLAttributesImpl::UnsetAttributeName(nsIAtom* aAttrName, PRBool& aFound){  PRInt32 index = mAttrCount;  while (0 < index--) {    if (mAttrNames[index] == aAttrName) {      mAttrCount--;      if ((mAttrNames != mNameBuffer) && (mAttrCount <= (kNameBufferSize / 2))) {        // go back to using internal buffer        if (0 < index) {          nsCRT::memcpy(mNameBuffer, mAttrNames, index * sizeof(nsIAtom*));        }        if (index < mAttrCount) {          nsCRT::memcpy(&(mNameBuffer[index]), &(mAttrNames[index + 1]),                         (mAttrCount - index) * sizeof(nsIAtom*));        }        delete [] mAttrNames;        mAttrNames = mNameBuffer;        mAttrSize = kNameBufferSize;      }      else {        if (index < mAttrCount) {          nsCRT::memmove(&(mAttrNames[index]), &(mAttrNames[index + 1]),                          (mAttrCount - index) * sizeof(nsIAtom*));        }      }      NS_RELEASE(aAttrName);      aFound = PR_TRUE;      return NS_OK;    }  }  aFound = PR_FALSE;  return NS_OK;}