VirtualBox

Changeset 98460 in vbox for trunk


Ignore:
Timestamp:
Feb 3, 2023 11:02:49 AM (2 years ago)
Author:
vboxsync
Message:

Runtime/common/zip/tarcmd.cpp: Add support for cpio archives and archiving symlinks [build fix]

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/zip/tarcmd.cpp

    r98459 r98460  
    126126    /** Whether to handle directories recursively or not. Defaults to \c true. */
    127127    bool            fRecursive;
    128     /** The compressor/decompressor method to employ (0, z or j). */
     128    /** The compressor/decompressor method to employ (0, z or j or J). */
    129129    char            chZipper;
    130130
     
    332332                                            RTFSOBJINFO paObjInfo[3], const char *pszDst, PRTERRINFOSTATIC pErrInfo)
    333333{
     334    RT_NOREF(paObjInfo);
     335
    334336    if (pOpts->fVerbose)
    335337        RTPrintf("%s\n", pszDst);
     
    595597                RTMsgError("Failed to open gzip decompressor: %Rrc", rc);
    596598            break;
     599
     600#ifdef IPRT_WITH_LZMA
     601        /* xz/lzma */
     602        case 'J':
     603            rc = RTZipXzCompressIoStream(hVfsIos, 0 /*fFlags*/, 6, &hVfsIosComp);
     604            if (RT_FAILURE(rc))
     605                RTMsgError("Failed to open xz compressor: %Rrc", rc);
     606            break;
     607#endif
    597608
    598609        /* bunzip2 */
     
    859870            break;
    860871
     872#ifdef IPRT_WITH_LZMA
     873        /* xz/lzma */
     874        case 'J':
     875            rc = RTZipXzDecompressIoStream(hVfsIos, 0 /*fFlags*/, &hVfsIosDecomp);
     876            if (RT_FAILURE(rc))
     877                RTMsgError("Failed to open gzip decompressor: %Rrc", rc);
     878            break;
     879#endif
     880
    861881        /* bunzip2 */
    862882        case 'j':
     
    16661686             "    -z, --gzip, --gunzip, --ungzip        (all)\n"
    16671687             "        Compress/decompress the archive with gzip.\n"
     1688#ifdef IPRT_WITH_LZMA
     1689             "    -J, --xz                              (all)\n"
     1690             "        Compress/decompress the archive using xz/lzma.\n"
     1691#endif
    16681692             "\n");
    16691693    RTPrintf("Misc Options:\n"
     
    17481772        { "--gunzip",               'z',                                RTGETOPT_REQ_NOTHING },
    17491773        { "--ungzip",               'z',                                RTGETOPT_REQ_NOTHING },
     1774#ifdef IPRT_WITH_LZMA
     1775        { "--xz",                   'J',                                RTGETOPT_REQ_NOTHING },
     1776#endif
    17501777
    17511778        /* other options. */
     
    18401867            case 'j':
    18411868            case 'z':
     1869#ifdef IPRT_WITH_LZMA
     1870            case 'J':
     1871#endif
    18421872                if (Opts.chZipper)
    18431873                    return RTMsgErrorExit(RTEXITCODE_SYNTAX, "You may only specify one compressor / decompressor");
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