diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2015-10-07 14:13:57 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2015-10-07 15:43:44 +0200 |
commit | 5f66de5c492168664992bcdc800506a330fe401a (patch) | |
tree | 7344382366e956d95df7bedca0cfa7fdfe3469fb /registry/source/reflwrit.cxx | |
parent | db34ab81ae170cf9ec1c4421e0f05d65747caa3e (diff) |
Abstract out repeated code into a lambda
...to silence a clang-analyzer-deadcode.DeadStores on the last update of pBuffer
Change-Id: I144b64c330c178f78109fefadacf62fca3765694
Diffstat (limited to 'registry/source/reflwrit.cxx')
-rw-r--r-- | registry/source/reflwrit.cxx | 31 |
1 files changed, 13 insertions, 18 deletions
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; |