VirtualBox

Changeset 66602 in vbox for trunk/src/VBox/Runtime/tools


Ignore:
Timestamp:
Apr 18, 2017 3:27:30 PM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
114635
Message:

IPRT/vfs-chains: Pass around an pErrInfo buffer too.

Location:
trunk/src/VBox/Runtime/tools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/tools/RTCat.cpp

    r66595 r66602  
    131131    else
    132132    {
    133         const char *pszError;
    134         rc = RTVfsChainOpenIoStream(pszFile, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE, phVfsIos, &pszError);
     133        uint32_t        offError = 0;
     134        RTERRINFOSTATIC ErrInfo;
     135        rc = RTVfsChainOpenIoStream(pszFile, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE,
     136                                    phVfsIos, &offError, RTErrInfoInitStatic(&ErrInfo));
    135137        if (RT_FAILURE(rc))
    136         {
    137             if (pszError && *pszError)
    138                 return RTMsgErrorExit(RTEXITCODE_FAILURE,
    139                                       "RTVfsChainOpenIoStream failed with rc=%Rrc:\n"
    140                                       "    '%s'\n"
    141                                       "     %*s^\n",
    142                                       rc, pszFile, pszError - pszFile, "");
    143             return RTMsgErrorExit(RTEXITCODE_FAILURE,
    144                                   "RTVfsChainOpenIoStream failed with rc=%Rrc: '%s'",
    145                                   rc, pszFile);
    146         }
     138            return RTVfsChainMsgErrorExitFailure("RTVfsChainOpenIoStream", pszFile, rc, offError, &ErrInfo.Core);
    147139    }
    148140
  • trunk/src/VBox/Runtime/tools/RTGzip.cpp

    r66595 r66602  
    407407    else
    408408    {
    409         const char *pszError;
    410         rc = RTVfsChainOpenIoStream(pszFile, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_WRITE, phVfsIos, &pszError);
     409        uint32_t        offError = 0;
     410        RTERRINFOSTATIC ErrInfo;
     411        rc = RTVfsChainOpenIoStream(pszFile, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_WRITE,
     412                                    phVfsIos, &offError, RTErrInfoInitStatic(&ErrInfo));
    411413        if (RT_FAILURE(rc))
    412         {
    413             if (pszError && *pszError)
    414                 return RTMsgErrorExit(RTEXITCODE_FAILURE,
    415                                       "RTVfsChainOpenIoStream failed with rc=%Rrc:\n"
    416                                       "    '%s'\n"
    417                                       "     %*s^\n",
    418                                       rc, pszFile, pszError - pszFile, "");
    419             return RTMsgErrorExit(RTEXITCODE_FAILURE,
    420                                   "RTVfsChainOpenIoStream failed with rc=%Rrc: '%s'",
    421                                   rc, pszFile);
    422         }
     414            return RTVfsChainMsgErrorExitFailure("RTVfsChainOpenIoStream", pszFile, rc, offError, &ErrInfo.Core);
    423415    }
    424416
  • trunk/src/VBox/Runtime/tools/RTManifest.cpp

    r62570 r66602  
    7171    else
    7272    {
    73         const char *pszError;
    74         rc = RTVfsChainOpenIoStream(pszManifest, RTFILE_O_READ | RTFILE_O_DENY_WRITE | RTFILE_O_OPEN, &hVfsIos, &pszError);
     73        uint32_t        offError = 0;
     74        RTERRINFOSTATIC ErrInfo;
     75        rc = RTVfsChainOpenIoStream(pszManifest, RTFILE_O_READ | RTFILE_O_DENY_WRITE | RTFILE_O_OPEN,
     76                                    &hVfsIos, &offError, RTErrInfoInitStatic(&ErrInfo));
    7577        if (RT_FAILURE(rc))
    76         {
    77             if (pszError && *pszError)
    78                 return RTMsgErrorExit(RTEXITCODE_FAILURE,
    79                                       "RTVfsChainOpenIoStream failed with rc=%Rrc:\n"
    80                                       "    '%s'\n"
    81                                       "     %*s^\n",
    82                                       rc, pszManifest, pszError - pszManifest, "");
    83             return RTMsgErrorExit(RTEXITCODE_FAILURE,
    84                                   "Failed with %Rrc opening the input manifest '%s'", rc, pszManifest);
    85         }
     78            return RTVfsChainMsgErrorExitFailure("RTVfsChainOpenIoStream", pszManifest, rc, offError, &ErrInfo.Core);
    8679    }
    8780
     
    147140{
    148141    RTVFSIOSTREAM   hVfsIos;
    149     const char     *pszError;
    150     int rc = RTVfsChainOpenIoStream(pszFilename, RTFILE_O_READ | RTFILE_O_DENY_WRITE | RTFILE_O_OPEN, &hVfsIos, &pszError);
     142    uint32_t        offError = 0;
     143    RTERRINFOSTATIC ErrInfo;
     144    int rc = RTVfsChainOpenIoStream(pszFilename, RTFILE_O_READ | RTFILE_O_DENY_WRITE | RTFILE_O_OPEN,
     145                                    &hVfsIos, &offError, RTErrInfoInitStatic(&ErrInfo));
    151146    if (RT_FAILURE(rc))
    152147    {
    153         if (pszError && *pszError)
    154             RTMsgError("RTVfsChainOpenIoStream failed with rc=%Rrc:\n"
    155                        "    '%s'\n"
    156                        "     %*s^\n",
    157                        rc, pszFilename, pszError - pszFilename, "");
    158         else
    159             RTMsgError("Failed with %Rrc opening '%s'", rc, pszFilename);
     148        RTVfsChainMsgError("RTVfsChainOpenIoStream", pszFilename, rc, offError, &ErrInfo.Core);
    160149        return rc;
    161150    }
     
    201190    else
    202191    {
    203         const char *pszError;
     192        RTERRINFOSTATIC ErrInfo;
     193        uint32_t        offError;
    204194        rc = RTVfsChainOpenIoStream(pszManifest, RTFILE_O_WRITE | RTFILE_O_DENY_WRITE | RTFILE_O_CREATE_REPLACE,
    205                                     &hVfsIos, &pszError);
     195                                    &hVfsIos, &offError, RTErrInfoInitStatic(&ErrInfo));
    206196        if (RT_FAILURE(rc))
    207         {
    208             if (pszError && *pszError)
    209                 return RTMsgErrorExit(RTEXITCODE_FAILURE,
    210                                       "RTVfsChainOpenIoStream failed with rc=%Rrc:\n"
    211                                       "    '%s'\n"
    212                                       "     %*s^\n",
    213                                       rc, pszManifest, pszError - pszManifest, "");
    214             return RTMsgErrorExit(RTEXITCODE_FAILURE,
    215                                   "Failed with %Rrc opening the manifest '%s'", rc, pszManifest);
    216         }
     197            return RTVfsChainMsgErrorExitFailure("RTVfsChainOpenIoStream", pszManifest, rc, offError, &ErrInfo.Core);
    217198    }
    218199
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