VirtualBox

Ignore:
Timestamp:
Dec 19, 2022 5:05:55 PM (2 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
154920
Message:

DnD/TransferList: Fixed returning wrong buffer sizes in DnDTransferListGetRootsEx() + added testcases for it.

Location:
trunk/src/VBox/GuestHost/DragAndDrop
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/GuestHost/DragAndDrop/DnDTransferList.cpp

    r97799 r97834  
    10681068            rc = RTStrCopy(szPath, sizeof(szPath), pcszPathRootTmp);
    10691069            AssertRCBreak(rc);
    1070             cchString += RTStrNLen(pcszPathRootTmp, RTPATH_MAX);
    10711070        }
    10721071
  • trunk/src/VBox/GuestHost/DragAndDrop/testcase/tstDnDTransferList.cpp

    r96407 r97834  
    155155    RTTEST_CHECK(hTest, RTPathCompare(DnDTransferListGetRootPathAbs(&list), szPathTest) == 0);
    156156
     157    /* Validate returned lengths. */
     158    pszBuf = NULL;
     159    RTTEST_CHECK_RC(hTest, DnDTransferListGetRootsEx(&list, DNDTRANSFERLISTFMT_URI, "/base/", "\r\n", &pszBuf, &cbBuf), VINF_SUCCESS);
     160    RTTEST_CHECK_MSG(hTest, RTStrCmp(pszBuf, "file:///base/bin/\r\nfile:///base/lib/\r\n") == 0, (hTest, "Got '%s'", pszBuf));
     161    RTTEST_CHECK_MSG(hTest, cbBuf == strlen(pszBuf) + 1, (hTest, "Got %d, expected %d\n", cbBuf, strlen(pszBuf) + 1));
     162    RTStrFree(pszBuf);
     163
     164    pszBuf = NULL;
     165    RTTEST_CHECK_RC(hTest, DnDTransferListGetRootsEx(&list, DNDTRANSFERLISTFMT_NATIVE, "/base/", "\r\n", &pszBuf, &cbBuf), VINF_SUCCESS);
     166    RTTEST_CHECK_MSG(hTest, RTStrCmp(pszBuf, "/base/bin/\r\n/base/lib/\r\n") == 0, (hTest, "Got '%s'", pszBuf));
     167    RTTEST_CHECK_MSG(hTest, cbBuf == strlen(pszBuf) + 1, (hTest, "Got %d, expected %d\n", cbBuf, strlen(pszBuf) + 1));
     168    RTStrFree(pszBuf);
     169
     170    /* Validate roots with a new base. */
    157171    pszBuf = NULL;
    158172    RTTEST_CHECK_RC(hTest, DnDTransferListGetRootsEx(&list, DNDTRANSFERLISTFMT_NATIVE, "/native/base/path", "\n", &pszBuf, &cbBuf), 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