VirtualBox

Changeset 101098 in vbox


Ignore:
Timestamp:
Sep 12, 2023 11:31:00 PM (19 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
159067
Message:

VBoxDbg: Some stats formatting tweaking.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Debugger/VBoxDbgStatsQt.cpp

    r101097 r101098  
    636636static char *formatNumber(char *psz, uint64_t u64)
    637637{
    638     static const char s_szDigits[] = "0123456789";
    639     psz += 63;
    640     *psz-- = '\0';
    641     unsigned cDigits = 0;
    642     for (;;)
    643     {
    644         const unsigned iDigit = u64 % 10;
    645         u64 /= 10;
    646         *psz = s_szDigits[iDigit];
    647         if (!u64)
    648             break;
    649         psz--;
    650         if (!(++cDigits % 3))
    651             *psz-- = ',';
     638    if (!u64)
     639    {
     640        psz[0] = '0';
     641        psz[1] = '\0';
     642    }
     643    else
     644    {
     645        static const char s_szDigits[] = "0123456789";
     646        psz += 63;
     647        *psz-- = '\0';
     648        unsigned cDigits = 0;
     649        for (;;)
     650        {
     651            const unsigned iDigit = u64 % 10;
     652            u64 /= 10;
     653            *psz = s_szDigits[iDigit];
     654            if (!u64)
     655                break;
     656            psz--;
     657            if (!(++cDigits % 3))
     658                *psz-- = ',';
     659        }
    652660    }
    653661    return psz;
     
    659667 * (18 446 744 073 709 551 615)
    660668 */
    661 static char *formatNumberSigned(char *psz, int64_t i64, bool fPositivePlus = false)
     669static char *formatNumberSigned(char *psz, int64_t i64, bool fPositivePlus)
    662670{
    663671    static const char s_szDigits[] = "0123456789";
     
    22612269        case STAMTYPE_PROFILE:
    22622270        case STAMTYPE_PROFILE_ADV:
    2263             if (!pNode->Data.Profile.cPeriods)
    2264                 return "0";
    22652271            return formatNumber(sz, pNode->Data.Profile.cPeriods);
    22662272
     
    23342340        case STAMTYPE_PROFILE:
    23352341        case STAMTYPE_PROFILE_ADV:
    2336             if (!pNode->Data.Profile.cPeriods)
    2337                 return "0";
    2338             return formatNumber(sz, pNode->Data.Profile.cTicksMin);
     2342            if (pNode->Data.Profile.cPeriods)
     2343                return formatNumber(sz, pNode->Data.Profile.cTicksMin);
     2344            return "0"; /* cTicksMin is set to UINT64_MAX */
    23392345        default:
    23402346            return "";
     
    23522358        case STAMTYPE_PROFILE:
    23532359        case STAMTYPE_PROFILE_ADV:
    2354             if (!pNode->Data.Profile.cPeriods)
    2355                 return "0";
    2356             return formatNumber(sz, pNode->Data.Profile.cTicks / pNode->Data.Profile.cPeriods);
     2360            if (pNode->Data.Profile.cPeriods)
     2361                return formatNumber(sz, pNode->Data.Profile.cTicks / pNode->Data.Profile.cPeriods);
     2362            return "0";
    23572363        default:
    23582364            return "";
     
    23702376        case STAMTYPE_PROFILE:
    23712377        case STAMTYPE_PROFILE_ADV:
    2372             if (!pNode->Data.Profile.cPeriods)
    2373                 return "0";
    23742378            return formatNumber(sz, pNode->Data.Profile.cTicksMax);
    23752379        default:
     
    23882392        case STAMTYPE_PROFILE:
    23892393        case STAMTYPE_PROFILE_ADV:
    2390             if (!pNode->Data.Profile.cPeriods)
    2391                 return "0";
    23922394            return formatNumber(sz, pNode->Data.Profile.cTicks);
    23932395        default:
     
    24002402VBoxDbgStatsModel::strDeltaValue(PCDBGGUISTATSNODE pNode)
    24012403{
    2402     char sz[128];
    2403 
    24042404    switch (pNode->enmType)
    24052405    {
    24062406        case STAMTYPE_PROFILE:
    24072407        case STAMTYPE_PROFILE_ADV:
    2408             if (!pNode->Data.Profile.cPeriods)
    2409                 return "0";
    2410             RT_FALL_THRU();
    24112408        case STAMTYPE_COUNTER:
    24122409        case STAMTYPE_RATIO_U32:
     
    24312428        case STAMTYPE_BOOL_RESET:
    24322429            if (pNode->i64Delta)
     2430            {
     2431                char sz[128];
    24332432                return formatNumberSigned(sz, pNode->i64Delta, true /*fPositivePlus*/);
     2433            }
    24342434            return "0";
    2435         default:
    2436             return "";
    2437     }
     2435        case STAMTYPE_END:
     2436            AssertFailed(); RT_FALL_THRU();
     2437        case STAMTYPE_CALLBACK:
     2438        case STAMTYPE_INVALID:
     2439            break;
     2440    }
     2441    return "";
    24382442}
    24392443
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