From 5f66de5c492168664992bcdc800506a330fe401a Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Wed, 7 Oct 2015 14:13:57 +0200 Subject: Abstract out repeated code into a lambda ...to silence a clang-analyzer-deadcode.DeadStores on the last update of pBuffer Change-Id: I144b64c330c178f78109fefadacf62fca3765694 --- registry/source/reflwrit.cxx | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) (limited to 'registry/source') diff --git a/registry/source/reflwrit.cxx b/registry/source/reflwrit.cxx index be4b15cd9aea..febfbc696d2e 100644 --- a/registry/source/reflwrit.cxx +++ b/registry/source/reflwrit.cxx @@ -1114,29 +1114,24 @@ void TypeWriter::createBlop() pInfo = pNextInfo; } - // write fields - pBuffer += writeUINT16(pBuffer, m_fieldCount); - if (blopFieldsSize) + auto writeList = [&pBuffer]( + sal_uInt16 count, sal_uInt8 * data, sal_uInt32 size) { - memcpy(pBuffer, pBlopFields, blopFieldsSize); - pBuffer += blopFieldsSize; - } + pBuffer += writeUINT16(pBuffer, count); + if (size != 0) { + memcpy(pBuffer, data, size); + pBuffer += size; + } + }; + + // write fields + writeList(m_fieldCount, pBlopFields, blopFieldsSize); // write methods - pBuffer += writeUINT16(pBuffer, m_methodCount); - if (blopMethodsSize) - { - memcpy(pBuffer, pBlopMethods, blopMethodsSize); - pBuffer += blopMethodsSize; - } + writeList(m_methodCount, pBlopMethods, blopMethodsSize); // write references - pBuffer += writeUINT16(pBuffer, m_referenceCount); - if (blopReferenceSize) - { - memcpy(pBuffer, pBlopReferences, blopReferenceSize); - pBuffer += blopReferenceSize; - } + writeList(m_referenceCount, pBlopReferences, blopReferenceSize); delete[] pBlopFields; delete[] pBlopMethods; -- cgit