VirtualBox

Changeset 98732 in vbox for trunk/src/VBox/Runtime/common


Ignore:
Timestamp:
Feb 25, 2023 6:26:14 PM (22 months ago)
Author:
vboxsync
Message:

Config.kmk,Runtime: Add support for xz archives using liblzma-5.4.1, bugref:10254

Location:
trunk/src/VBox/Runtime/common/zip
Files:
1 added
1 edited

Legend:

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

    r98462 r98732  
    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
     
    597597                RTMsgError("Failed to open gzip decompressor: %Rrc", rc);
    598598            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
    599608
    600609        /* bunzip2 */
     
    861870            break;
    862871
     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
    863881        /* bunzip2 */
    864882        case 'j':
     
    16681686             "    -z, --gzip, --gunzip, --ungzip        (all)\n"
    16691687             "        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
    16701692             "\n");
    16711693    RTPrintf("Misc Options:\n"
     
    17501772        { "--gunzip",               'z',                                RTGETOPT_REQ_NOTHING },
    17511773        { "--ungzip",               'z',                                RTGETOPT_REQ_NOTHING },
     1774#ifdef IPRT_WITH_LZMA
     1775        { "--xz",                   'J',                                RTGETOPT_REQ_NOTHING },
     1776#endif
    17521777
    17531778        /* other options. */
     
    18421867            case 'j':
    18431868            case 'z':
     1869#ifdef IPRT_WITH_LZMA
     1870            case 'J':
     1871#endif
    18441872                if (Opts.chZipper)
    18451873                    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