VirtualBox

Changeset 67868 in vbox for trunk/src/VBox/Runtime


Ignore:
Timestamp:
Jul 8, 2017 6:40:50 PM (7 years ago)
Author:
vboxsync
Message:

isomaker: Adding --push-iso / --pop options for adding select files and/or directories from another ISO. Implemented adding directories from VFSs (real directories are not yet implemented). [build fix]

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/fs/isomakercmd.cpp

    r67867 r67868  
    15261526
    15271527/**
    1528  * Enteres an object into the namespaces given the parent and single name.
    1529  *
    1530  * This is used by the directory tree recursion code.
    1531  *
    1532  * @returns IPRT status code.
    1533  * @param   pOpts           The ISO maker command instance.
    1534  * @param   idxObj          The configuration index of the object to be named.
    1535  * @param   idxParentObj    The configuration index of the parent directory.
    1536  * @param   pszName         The name of the object.
    1537  * @param   pParsed         The parsed names - only fNameSpecifies used, no
    1538  *                          names.
    1539  * @param   pszSrc          The full source path for error reporting.
    1540  */
    1541 static int rtFsIsoMakerCmdSetNameAndParent(PRTFSISOMAKERCMDOPTS pOpts, uint32_t idxObj, uint32_t idxParentObj,
    1542                                            const char *pszName, PCRTFSISOMKCMDPARSEDNAMES pParsed, const char *pszSrc)
    1543 {
    1544     int rc = VINF_SUCCESS;
    1545     for (uint32_t i = 0; i < pParsed->cNames; i++)
    1546         if (pParsed->aNames[i].cchPath > 0)
    1547         {
    1548             if (pParsed->aNames[i].fNameSpecifiers & RTFSISOMAKERCMDNAME_MAJOR_MASK)
    1549             {
    1550                 rc = RTFsIsoMakerObjSetNameAndParent(pOpts->hIsoMaker, idxObj, idxParentObj,
    1551                                                      pParsed->aNames[i].fNameSpecifiers & RTFSISOMAKERCMDNAME_MAJOR_MASK,
    1552                                                      pszName);
    1553                 if (RT_FAILURE(rc))
    1554                 {
    1555                     rc = rtFsIsoMakerCmdErrorRc(pOpts, rc, "Error setting parent & name '%s' on '%s': %Rrc",
    1556                                                 pszName, pszSrc, rc);
    1557                     break;
    1558                 }
    1559             }
    1560             if (pParsed->aNames[i].fNameSpecifiers & RTFSISOMAKERCMDNAME_MINOR_MASK)
    1561             {
    1562                 /** @todo add APIs for this.   */
    1563             }
    1564         }
    1565     return rc;
    1566 }
    1567 
    1568 
    1569 /**
    15701528 * Adds a file.
    15711529 *
     
    16091567}
    16101568
     1569
     1570/**
     1571 * Applies filtering rules.
     1572 *
     1573 * @returns true if filtered out, false if included.
     1574 * @param   pOpts       The ISO maker command instance.
     1575 * @param   pszSrc      The source source.
     1576 * @param   pszName     The name part (maybe different buffer from pszSrc).
     1577 * @param   fIsDir      Set if directory, clear if not.
     1578 */
    16111579static bool rtFsIsoMakerCmdIsFilteredOut(PRTFSISOMAKERCMDOPTS pOpts, const char *pszDir, const char *pszName, bool fIsDir)
    16121580{
     
    16141582    return false;
    16151583}
     1584
    16161585
    16171586/**
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