VirtualBox

Ignore:
Timestamp:
Aug 21, 2020 12:44:56 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
140033
Message:

Consolidated all the different Bitmap (BMP) file format headers / definitions into new include/iprt/formats/bmp.h (part 2): Renaming + prefixing stuff.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/GuestHost/SharedClipboard/clipboard-common.cpp

    r85856 r85864  
    901901    AssertPtrReturn(pcbDest, VERR_INVALID_POINTER);
    902902
    903     PWINHDR pBmpWinHdr = (PWINHDR)pvSrc;
     903    PBMPWIN3XINFOHDR coreHdr = (PBMPWIN3XINFOHDR)pvSrc;
    904904    /** @todo Support all the many versions of the DIB headers. */
    905     if (   cbSrc < sizeof(WINHDR)
    906         || RT_LE2H_U32(pBmpWinHdr->Size) < sizeof(WINHDR)
    907         || RT_LE2H_U32(pBmpWinHdr->Size) != sizeof(WINHDR))
     905    if (   cbSrc < sizeof(BMPWIN3XINFOHDR)
     906        || RT_LE2H_U32(coreHdr->cbSize) < sizeof(BMPWIN3XINFOHDR)
     907        || RT_LE2H_U32(coreHdr->cbSize) != sizeof(BMPWIN3XINFOHDR))
    908908    {
    909909        return VERR_INVALID_PARAMETER;
    910910    }
    911911
    912     size_t offPixel = sizeof(BMPINFO)
    913                     + RT_LE2H_U32(pBmpWinHdr->Size)
    914                     + RT_LE2H_U32(pBmpWinHdr->ClrUsed) * sizeof(uint32_t);
     912    size_t offPixel = sizeof(BMPFILEHDR)
     913                    + RT_LE2H_U32(coreHdr->cbSize)
     914                    + RT_LE2H_U32(coreHdr->cClrUsed) * sizeof(uint32_t);
    915915    if (cbSrc < offPixel)
    916916        return VERR_INVALID_PARAMETER;
    917917
    918     size_t cbDst = sizeof(BMPINFO) + cbSrc;
     918    size_t cbDst = sizeof(BMPFILEHDR) + cbSrc;
    919919
    920920    void *pvDest = RTMemAlloc(cbDst);
     
    922922        return VERR_NO_MEMORY;
    923923
    924     PBMPINFO pBmpHdr = (PBMPINFO)pvDest;
    925 
    926     pBmpHdr->Type        = BMP_HDR_MAGIC;
    927     pBmpHdr->FileSize    = (uint32_t)RT_H2LE_U32(cbDst);
    928     pBmpHdr->Reserved1   = pBmpHdr->Reserved2 = 0;
    929     pBmpHdr->Offset      = (uint32_t)RT_H2LE_U32(offPixel);
    930 
    931     memcpy((uint8_t *)pvDest + sizeof(BMPINFO), pvSrc, cbSrc);
     924    PBMPFILEHDR fileHdr = (PBMPFILEHDR)pvDest;
     925
     926    fileHdr->uType       = BMP_HDR_MAGIC;
     927    fileHdr->cbFileSize  = (uint32_t)RT_H2LE_U32(cbDst);
     928    fileHdr->Reserved1   = 0;
     929    fileHdr->Reserved2   = 0;
     930    fileHdr->offBits     = (uint32_t)RT_H2LE_U32(offPixel);
     931
     932    memcpy((uint8_t *)pvDest + sizeof(BMPFILEHDR), pvSrc, cbSrc);
    932933
    933934    *ppvDest = pvDest;
     
    945946    AssertPtrReturn(pcbDest, VERR_INVALID_POINTER);
    946947
    947     PBMPINFO pBmpHdr = (PBMPINFO)pvSrc;
    948     if (   cbSrc < sizeof(BMPINFO)
    949         || pBmpHdr->Type != BMP_HDR_MAGIC
    950         || RT_LE2H_U32(pBmpHdr->FileSize) != cbSrc)
     948    PBMPFILEHDR pBmpHdr = (PBMPFILEHDR)pvSrc;
     949    if (   cbSrc < sizeof(BMPFILEHDR)
     950        || pBmpHdr->uType != BMP_HDR_MAGIC
     951        || RT_LE2H_U32(pBmpHdr->cbFileSize) != cbSrc)
    951952    {
    952953        return VERR_INVALID_PARAMETER;
    953954    }
    954955
    955     *ppvDest = ((uint8_t *)pvSrc) + sizeof(BMPINFO);
    956     *pcbDest = cbSrc - sizeof(BMPINFO);
     956    *ppvDest = ((uint8_t *)pvSrc) + sizeof(BMPFILEHDR);
     957    *pcbDest = cbSrc - sizeof(BMPFILEHDR);
    957958
    958959    return VINF_SUCCESS;
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette