VirtualBox

Ignore:
Timestamp:
Aug 3, 2016 8:46:35 AM (8 years ago)
Author:
vboxsync
Message:

Runtime: deal with nested template classes when showing the 'short' function/method name in strformatrt.c, it produced garbled/truncated method names before

File:
1 edited

Legend:

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

    r62564 r62892  
    710710                        const char *pszStart;
    711711                        const char *psz = pszStart = va_arg(*pArgs, const char *);
     712                        int cAngle = 0;
     713
    712714                        if (!VALID_PTR(psz))
    713715                            return pfnOutput(pvArgOutput, RT_STR_TUPLE("<null>"));
     
    720722                                while ((ch = *psz) != '\0' && (RT_C_IS_BLANK(ch) || ch == '('))
    721723                                    psz++;
    722                                 if (ch)
     724                                if (ch && cAngle == 0)
    723725                                    pszStart = psz;
    724726                            }
    725727                            else if (ch == '(')
    726728                                break;
     729                            else if (ch == '<')
     730                            {
     731                                cAngle++;
     732                                psz++;
     733                            }
     734                            else if (ch == '>')
     735                            {
     736                                cAngle--;
     737                                psz++;
     738                            }
    727739                            else
    728740                                psz++;
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