Changeset 365 for branches/branch-1-0/src/helpers/nls.c
- Timestamp:
- May 26, 2008, 4:33:24 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/branch-1-0/src/helpers/nls.c
r349 r365 22 22 23 23 /* 24 * Copyright (C) 1997-200 7Ulrich Mller.24 * Copyright (C) 1997-2008 Ulrich Mller. 25 25 * This file is part of the "XWorkplace helpers" source package. 26 26 * This is free software; you can redistribute it and/or modify … … 178 178 ++n) 179 179 G_afLeadByte[n] = TRUE; 180 180 181 G_fDBCS = TRUE; 181 182 } … … 586 587 ust++; 587 588 } 588 pszTarget[ust] = szTemp[uss]; 589 ust++; 589 pszTarget[ust++] = szTemp[uss]; 590 590 } 591 591 pszTarget[ust] = '\0'; … … 917 917 918 918 for (ul = 0; 919 ul < sizeof(G_szUpperMap);919 ul < 256; 920 920 ++ul) 921 921 { … … 964 964 *@@added V0.9.16 (2001-10-25) [umoeller] 965 965 *@@changed V0.9.20 (2002-07-25) [umoeller]: speedup, changed prototype 966 *@@changed XWP V1.0.8 (2008-05-25) [pr]: rewritten for correct DBCS operation @@fixes 1070 966 967 */ 967 968 968 969 ULONG nlsUpper(PSZ psz) // in/out: string 969 970 { 971 BOOL bDBCSType = TYPE_SBCS; 970 972 ULONG ul = 0; 973 PSZ p = psz; 971 974 972 975 if (!G_fUpperMapInited) 973 976 InitUpperMap(); 974 977 975 if (psz) 976 { 977 PSZ p = psz; 978 979 while (*p++ = G_szUpperMap[*p]) 980 ++ul; 978 for (; p && *p; p++, ul++) 979 { 980 switch(bDBCSType) 981 { 982 case TYPE_SBCS: 983 case TYPE_DBCS_2ND: 984 bDBCSType = G_afLeadByte[*p]; 985 break; 986 987 case TYPE_DBCS_1ST : 988 bDBCSType = TYPE_DBCS_2ND; 989 break; 990 } 991 992 if (bDBCSType == TYPE_SBCS) 993 *p = G_szUpperMap[*p]; 981 994 } 982 995 … … 984 997 } 985 998 986
Note:
See TracChangeset
for help on using the changeset viewer.