VirtualBox

Ignore:
Timestamp:
May 21, 2013 7:56:28 PM (12 years ago)
Author:
vboxsync
Message:

bugfix.

File:
1 edited

Legend:

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

    r46199 r46200  
    722722            /* Compare. */
    723723            if (   pEntry->uHash     == (uint16_t)uHashLen
    724                 && pEntry->cchString == cchStringFirst
    725                 && !memcmp(pEntry->szString, pchString, cchString)
    726                 && pEntry->szString[cchString] == '\0')
    727                 return pEntry;
     724                && pEntry->cchString == cchStringFirst)
     725            {
     726                if (pEntry->cchString != RTSTRCACHEENTRY_BIG_LEN)
     727                {
     728                    if (   !memcmp(pEntry->szString, pchString, cchString)
     729                        && pEntry->szString[cchString] == '\0')
     730                        return pEntry;
     731                }
     732                else
     733                {
     734                    PRTSTRCACHEBIGENTRY pBigEntry = RT_FROM_MEMBER(pEntry, RTSTRCACHEBIGENTRY, Core);
     735                    if (   pBigEntry->cchString == cchString
     736                        && !memcmp(pBigEntry->Core.szString, pchString, cchString))
     737                        return &pBigEntry->Core;
     738                }
     739            }
    728740        }
    729741        /* Record the first NIL index for insertion in case we don't get a hit. */
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