VirtualBox

Changeset 100676 in vbox for trunk/src/VBox/Additions


Ignore:
Timestamp:
Jul 21, 2023 11:26:04 AM (19 months ago)
Author:
vboxsync
Message:

Shared Clipboard: HTTP transfers with multiple files are also working now. bugref:9437

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/x11/VBoxClient/clipboard-x11.cpp

    r100367 r100676  
    9595                            PSHCLX11RESPONSE pResp = (PSHCLX11RESPONSE)pPayload->pvData;
    9696
    97                             rc = ShClTransferRootsInitFromStringList(pTransfer, (const char *)pResp->Read.pvData, pResp->Read.cbData);
     97                            rc = ShClTransferRootsInitFromStringListEx(pTransfer, (const char *)pResp->Read.pvData, pResp->Read.cbData,
     98                                                                       "\n" /* X11-based Desktop environments separate entries with "\n" */);
    9899
    99100                            RTMemFree(pResp->Read.pvData);
     
    329330                        if (RT_SUCCESS(rc))
    330331                        {
    331                             char *pszURL = ShClTransferHttpServerGetUrlA(pSrv, pTransfer->State.uID);
    332                             if (pszURL)
     332                            char *pszURL = NULL;
     333
     334                            uint64_t const cRoots = ShClTransferRootsCount(pTransfer);
     335                            for (uint32_t i = 0; i < cRoots; i++)
     336                            {
     337                                char *pszEntry = ShClTransferHttpServerGetUrlA(pSrv, ShClTransferGetID(pTransfer), i /* Entry index */);
     338                                AssertPtrBreakStmt(pszEntry, rc = VERR_NO_MEMORY);
     339
     340                                if (i > 0)
     341                                {
     342                                    rc = RTStrAAppend(&pszURL, "\n"); /* Separate entries with a newline. */
     343                                    AssertRCBreak(rc);
     344                                }
     345
     346                                rc = RTStrAAppend(&pszURL, pszEntry);
     347                                AssertRCBreak(rc);
     348
     349                                RTStrFree(pszEntry);
     350                            }
     351
     352                            if (RT_SUCCESS(rc))
    333353                            {
    334354                                *ppv = pszURL;
     
    339359                                /* ppv has ownership of pszURL. */
    340360                            }
    341                             else
    342                                 rc = VERR_NO_MEMORY;
    343361                        }
    344362                    }
Note: See TracChangeset for help on using the changeset viewer.

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