VirtualBox

Ignore:
Timestamp:
Apr 28, 2020 7:32:41 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
137642
Message:

IPRT,++: New RTErrWin* API, data source unchanged. bugref:9726

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/string/strformatrt.cpp

    r84054 r84063  
    10241024                    {
    10251025                        uint32_t hrc = va_arg(*pArgs, uint32_t);
     1026# ifndef RT_OS_WINDOWS
    10261027                        PCRTCOMERRMSG pMsg = RTErrCOMGet(hrc);
     1028# endif
    10271029                        switch (*(*ppszFormat)++)
    10281030                        {
     1031# ifdef RT_OS_WINDOWS
     1032                            case 'c':
     1033                                return RTErrWinFormatDefine(hrc, pfnOutput, pvArgOutput, szBuf, sizeof(szBuf));
     1034                            case 'f':
     1035                                return RTErrWinFormatMsg(hrc, pfnOutput, pvArgOutput, szBuf, sizeof(szBuf));
     1036                            case 'a':
     1037                                return RTErrWinFormatMsgAll(hrc, pfnOutput, pvArgOutput, szBuf, sizeof(szBuf));
     1038# else  /* !RT_OS_WINDOWS */
    10291039                            case 'c':
    10301040                                return pfnOutput(pvArgOutput, pMsg->pszDefine, strlen(pMsg->pszDefine));
    10311041                            case 'f':
    1032 # if !defined(RT_OS_WINDOWS) || (!defined(RT_IN_STATIC) && !defined(IPRT_ERRMSG_DEFINES_ONLY))
    10331042                                return pfnOutput(pvArgOutput, pMsg->pszMsgFull, strlen(pMsg->pszMsgFull));
    1034 # else
    1035                                 AssertFailed();
    1036                                 return pfnOutput(pvArgOutput, pMsg->pszDefine, strlen(pMsg->pszDefine));
    1037 # endif
    10381043                            case 'a':
    1039 # if !defined(RT_OS_WINDOWS) || (!defined(RT_IN_STATIC) && !defined(IPRT_ERRMSG_DEFINES_ONLY))
    10401044                                return RTStrFormat(pfnOutput, pvArgOutput, NULL, 0, "%s (0x%08X) - %s", pMsg->pszDefine, hrc, pMsg->pszMsgFull);
    1041 # else
    1042                                 AssertFailed();
    1043                                 return RTStrFormat(pfnOutput, pvArgOutput, NULL, 0, "%s (0x%08X)", pMsg->pszDefine, hrc);
    1044 # endif
     1045# endif /* !RT_OS_WINDOWS */
    10451046                            default:
    10461047                                AssertMsgFailed(("Invalid status code format type '%.10s'!\n", pszFormatOrg));
     
    12241225            {
    12251226                long rc = va_arg(*pArgs, long);
    1226 # if defined(RT_OS_WINDOWS)
    1227                 PCRTWINERRMSG pMsg = RTErrWinGet(rc);
    1228 # endif
    12291227                switch (*(*ppszFormat)++)
    12301228                {
    12311229# if defined(RT_OS_WINDOWS)
    12321230                    case 'c':
    1233                         return pfnOutput(pvArgOutput, pMsg->pszDefine, strlen(pMsg->pszDefine));
     1231                        return RTErrWinFormatDefine(rc, pfnOutput, pvArgOutput, szBuf, sizeof(szBuf));
    12341232                    case 'f':
    1235 #  if !defined(RT_IN_STATIC) && !defined(IPRT_ERRMSG_DEFINES_ONLY)
    1236                         return pfnOutput(pvArgOutput, pMsg->pszMsgFull, strlen(pMsg->pszMsgFull));
    1237 #  else
    1238                         AssertFailed();
    1239                         return pfnOutput(pvArgOutput, pMsg->pszDefine, strlen(pMsg->pszDefine));
    1240 #  endif
     1233                        return RTErrWinFormatMsg(rc, pfnOutput, pvArgOutput, szBuf, sizeof(szBuf));
    12411234                    case 'a':
    1242 #  if !defined(RT_IN_STATIC) && !defined(IPRT_ERRMSG_DEFINES_ONLY)
    1243                         return RTStrFormat(pfnOutput, pvArgOutput, NULL, 0, "%s (0x%08X) - %s", pMsg->pszDefine, rc, pMsg->pszMsgFull);
    1244 #  else
    1245                         AssertFailed();
    1246                         return RTStrFormat(pfnOutput, pvArgOutput, NULL, 0, "%s (0x%08X)", pMsg->pszDefine, rc);
    1247 #  endif
     1235                        return RTErrWinFormatMsgAll(rc, pfnOutput, pvArgOutput, szBuf, sizeof(szBuf));
    12481236# else  /* !RT_OS_WINDOWS */
    12491237                    case 'c':
    12501238                    case 'f':
    12511239                    case 'a':
    1252                         return RTStrFormat(pfnOutput, pvArgOutput, NULL, 0, "0x%08X", rc);
     1240                        return RTStrFormat(pfnOutput, pvArgOutput, NULL, 0, "0x%08x", rc);
    12531241# endif /* !RT_OS_WINDOWS */
    12541242                    default:
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