VirtualBox

Changeset 31213 in vbox for trunk/src/VBox/Runtime


Ignore:
Timestamp:
Jul 29, 2010 1:52:23 PM (14 years ago)
Author:
vboxsync
Message:

Runtime/string: Utf-8 to Latin-1 translation should be exact or fail

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/string/utf-8.cpp

    r31199 r31213  
    10521052            uint16_t uc = (puch[1] & 0x3f)
    10531053                    | ((uint16_t)(uch     & 0x1f) << 6);
    1054             *puchOut++ = uc < 0x100 ? uc : '?';
     1054            if (uc >= 0x100)
     1055            {
     1056                rc = VERR_NO_TRANSLATION;
     1057                break;
     1058            }
     1059            *puchOut++ = uc;
    10551060            puch += 2;
    10561061            cch -= 2;
    10571062        }
    1058         else if ((uch & (RT_BIT(7) | RT_BIT(6) | RT_BIT(5) | RT_BIT(4))) == (RT_BIT(7) | RT_BIT(6) | RT_BIT(5)))
    1059         {
    1060             *puchOut++ = '?';
    1061             puch += 3;
    1062             cch -= 3;
    1063         }
    1064         else
    1065         {
    1066             *puchOut++ = '?';
    1067             puch += 4;
    1068             cch -= 4;
     1063        else
     1064        {
     1065            rc = VERR_NO_TRANSLATION;
     1066            break;
    10691067        }
    10701068    }
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