Ignore:
Timestamp:
Feb 19, 2004, 2:03:07 PM (22 years ago)
Author:
sandervl
Message:

DBCS fixes for console & resource functions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/winimgres.cpp

    r6442 r10471  
    1 /* $Id: winimgres.cpp,v 1.53 2001-08-03 17:45:27 sandervl Exp $ */
     1/* $Id: winimgres.cpp,v 1.54 2004-02-19 13:03:07 sandervl Exp $ */
    22
    33/*
     
    1111 * Copyright 1995 Thomas Sandford
    1212 * Copyright 1996 Martin von Loewis
    13  * 
     13 *
    1414 *
    1515 * Project Odin Software License can be found in LICENSE.TXT
     
    3232#include "oslibmisc.h"
    3333
    34 #define DBG_LOCALLOG    DBG_winimgres
     34#define DBG_LOCALLOG    DBG_winimgres
    3535#include "dbglocal.h"
    3636
     
    4242
    4343STD_RESTYPE ResType[MAX_RES] =
    44       { {NULL,          0}, 
    45         {"CURSOR",      6}, 
     44      { {NULL,          0},
     45        {"CURSOR",      6},
    4646        {"BITMAP",      6},
    4747        {"ICON",        4},
     
    6969{
    7070 PIMAGE_RESOURCE_DATA_ENTRY pData = NULL;
    71    
     71
    7272    pData = (PIMAGE_RESOURCE_DATA_ENTRY)findResourceA(lpszName, lpszType, lang);
    7373    if(pData == NULL) {
     
    8282{
    8383 PIMAGE_RESOURCE_DATA_ENTRY pData = NULL;
    84    
     84
    8585    pData = (PIMAGE_RESOURCE_DATA_ENTRY)findResourceW(lpszName, lpszType, lang);
    8686    if(pData == NULL) {
     
    9898
    9999  if(pData == NULL) {
    100         DebugInt3();
    101         return NULL;
     100    DebugInt3();
     101    return NULL;
    102102  }
    103103  //ulRVAResourceSection contains the relative virtual address (relative to the start of the image)
     
    113113
    114114  if(pData == NULL) {
    115         DebugInt3();
    116         return NULL;
     115    DebugInt3();
     116    return NULL;
    117117  }
    118118  return pData->Size;
     
    127127 HRSRC                     hRes;
    128128
    129     if(HIWORD(lpszType) != 0) 
    130     {
    131         typelen = strlen(lpszType);
     129    if(HIWORD(lpszType) != 0)
     130    {
     131    typelen = strlen(lpszType);
    132132
    133133        for(int i=0;i<MAX_RES;i++) {
    134             if(ResType[i].namelen && 
     134            if(ResType[i].namelen &&
    135135               ResType[i].namelen == typelen &&
    136136               stricmp(lpszType, ResType[i].typename) == 0)
     
    144144    if(!pResDirRet) {
    145145        dprintf2(("FindResourceA %s: resource %x (type %x, lang %x) TYPE NOT FOUND", szModule, lpszName, lpszType, lang));
    146         SetLastError(ERROR_RESOURCE_TYPE_NOT_FOUND);
    147         return NULL;
     146    SetLastError(ERROR_RESOURCE_TYPE_NOT_FOUND);
     147    return NULL;
    148148    }
    149149    pResDirRet = getResSubDirA(pResDirRet, lpszName);
    150150    if(!pResDirRet) {
    151151        dprintf2(("FindResourceA %s: resource %x (type %x, lang %x) NAME NOT FOUND", szModule, lpszName, lpszType, lang));
    152         SetLastError(ERROR_RESOURCE_NAME_NOT_FOUND);
    153         return NULL;
     152    SetLastError(ERROR_RESOURCE_NAME_NOT_FOUND);
     153    return NULL;
    154154    }
    155155
     
    160160       lang == MAKELANGID(LANG_NEUTRAL, 3)) /* FIXME: real name? */
    161161    {
    162         hRes = getResourceLang(pResDirRet);
     162        hRes = getResourceLang(pResDirRet);
    163163    }
    164164    else hRes = getResourceLangEx(pResDirRet, lang);
     
    181181 HRSRC                     hRes;
    182182
    183     if(HIWORD(lpszType) != 0 && lpszType[0] != (WCHAR)'#') 
     183    if(HIWORD(lpszType) != 0 && lpszType[0] != (WCHAR)'#')
    184184    {
    185185        astring1 = UnicodeToAsciiString(lpszType);
    186         typelen = strlen(astring1);
     186    typelen = strlen(astring1);
    187187
    188188        for(int i=0;i<MAX_RES;i++) {
    189             if(ResType[i].namelen && 
     189            if(ResType[i].namelen &&
    190190               ResType[i].namelen == typelen &&
    191191               stricmp(astring1, ResType[i].typename) == 0)
     
    195195             lpszType = (LPWSTR)i;
    196196        }
    197         FreeAsciiString(astring1);
     197    FreeAsciiString(astring1);
    198198    }
    199199    pResDirRet = getResSubDirW(pResRootDir, lpszType);
    200200    if(!pResDirRet) {
    201201        dprintf2(("FindResourceW %s: resource %x (type %x, lang %x) TYPE NOT FOUND", szModule, lpszName, lpszType, lang));
    202         SetLastError(ERROR_RESOURCE_TYPE_NOT_FOUND);
    203         return NULL;
     202    SetLastError(ERROR_RESOURCE_TYPE_NOT_FOUND);
     203    return NULL;
    204204    }
    205205    pResDirRet = getResSubDirW(pResDirRet, lpszName);
    206206    if(!pResDirRet) {
    207207        dprintf2(("FindResourceW %s: resource %x (type %x, lang %x) NAME NOT FOUND", szModule, lpszName, lpszType, lang));
    208         SetLastError(ERROR_RESOURCE_NAME_NOT_FOUND);
    209         return NULL;
     208    SetLastError(ERROR_RESOURCE_NAME_NOT_FOUND);
     209    return NULL;
    210210    }
    211211
     
    216216       lang == MAKELANGID(LANG_NEUTRAL, 3)) /* FIXME: real name? */
    217217    {
    218         hRes = getResourceLang(pResDirRet);
     218        hRes = getResourceLang(pResDirRet);
    219219    }
    220220    else hRes = getResourceLangEx(pResDirRet, lang);
     
    248248    hRes = (HRSRC)getResDataLang(pResDirToSearch, lang);
    249249    if(!hRes) {
    250         /* 2. Neutral language with default sublanguage */
    251         lang = MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT);
     250    /* 2. Neutral language with default sublanguage */
     251    lang = MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT);
    252252        hRes = (HRSRC)getResDataLang(pResDirToSearch, lang);
    253253    }
    254254    if(!hRes) {
    255         /* 3. Current locale lang id */
    256         lang = LANGIDFROMLCID(GetUserDefaultLCID());
     255    /* 3. Current locale lang id */
     256    lang = LANGIDFROMLCID(GetUserDefaultLCID());
    257257        hRes = (HRSRC)getResDataLang(pResDirToSearch, lang);
    258258    }
    259259    if(!hRes) {
    260         /* 4. Current locale lang id with neutral sublanguage */
    261         lang = MAKELANGID(PRIMARYLANGID(lang), SUBLANG_NEUTRAL);
     260    /* 4. Current locale lang id with neutral sublanguage */
     261    lang = MAKELANGID(PRIMARYLANGID(lang), SUBLANG_NEUTRAL);
    262262        hRes = (HRSRC)getResDataLang(pResDirToSearch, lang);
    263263    }
    264264    if(!hRes) {
    265         /* 5. (!) LANG_ENGLISH, SUBLANG_DEFAULT */
    266         lang = MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT);
     265    /* 5. (!) LANG_ENGLISH, SUBLANG_DEFAULT */
     266    lang = MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT);
    267267        hRes = (HRSRC)getResDataLang(pResDirToSearch, lang);
    268268    }
    269269    if(!hRes) {
    270         /* 6. Return first in the list */
     270    /* 6. Return first in the list */
    271271        hRes = (HRSRC)getResDataLang(pResDirToSearch, lang, TRUE);
    272272    }
     
    290290    hRes = (HRSRC)getResDataLang(pResDirToSearch, lang);
    291291    if(!hRes) {
    292         /* 2. Language with neutral sublanguage */
     292    /* 2. Language with neutral sublanguage */
    293293        lang = MAKELANGID(PRIMARYLANGID(lang), SUBLANG_NEUTRAL);
    294294        hRes = (HRSRC)getResDataLang(pResDirToSearch, lang);
    295295    }
    296296    if(!hRes) {
    297         /* 3. Neutral language with neutral sublanguage */
     297    /* 3. Neutral language with neutral sublanguage */
    298298        lang = MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL);
    299299        hRes = (HRSRC)getResDataLang(pResDirToSearch, lang);
    300300    }
    301301    if(!hRes) {
    302         /* 4. Current locale lang id with neutral sublanguage */
    303         lang = MAKELANGID(PRIMARYLANGID(lang), SUBLANG_NEUTRAL);
     302    /* 4. Current locale lang id with neutral sublanguage */
     303    lang = MAKELANGID(PRIMARYLANGID(lang), SUBLANG_NEUTRAL);
    304304        hRes = (HRSRC)getResDataLang(pResDirToSearch, lang);
    305305    }
     
    324324    hRes = findResourceW((LPWSTR)ID_GETFIRST, (LPWSTR)NTRT_VERSION, MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL));
    325325    if(hRes == NULL) {
    326         //last error already set by findResourceW
     326    //last error already set by findResourceW
    327327        dprintf(("Win32PeLdrImage::getVersionStruct: couldn't find version resource!"));
    328328        return 0;
     
    397397 * @author    knut st. osmundsen
    398398 */
    399 PIMAGE_RESOURCE_DIRECTORY Win32ImageBase::getResSubDirW(PIMAGE_RESOURCE_DIRECTORY pResDirToSearch, 
     399PIMAGE_RESOURCE_DIRECTORY Win32ImageBase::getResSubDirW(PIMAGE_RESOURCE_DIRECTORY pResDirToSearch,
    400400                                                        LPCWSTR lpszName)
    401401{
     
    405405
    406406    if(pResDirToSearch == NULL) {
    407         return NULL;
     407    return NULL;
    408408    }
    409409
    410410    if((ULONG)lpszName == -1) {//check for nonsense values
    411         return NULL;
     411    return NULL;
    412412    }
    413413
     
    460460                (PIMAGE_RESOURCE_DIR_STRING_U)(paResDirEntries[i].u1.s.NameOffset + (ULONG)pResRootDir /*?*/);
    461461
    462             //SvL: Must do case insensitive string compare here
     462        //SvL: Must do case insensitive string compare here
    463463            if (pResDirStr->Length == cusName
    464464                && lstrncmpiW(pResDirStr->NameString, lpszName, cusName) == 0)
     
    485485 * @author    knut st. osmundsen
    486486 */
    487 PIMAGE_RESOURCE_DIRECTORY Win32ImageBase::getResSubDirA(PIMAGE_RESOURCE_DIRECTORY pResDirToSearch, 
     487PIMAGE_RESOURCE_DIRECTORY Win32ImageBase::getResSubDirA(PIMAGE_RESOURCE_DIRECTORY pResDirToSearch,
    488488                                                        LPCTSTR lpszName)
    489489{
     
    492492
    493493    if(pResDirToSearch == NULL) {
    494         return NULL;
     494    return NULL;
    495495    }
    496496
    497497    if((ULONG)lpszName == -1) {//check for nonsense values
    498         return NULL;
     498    return NULL;
    499499    }
    500500
     
    528528 */
    529529//******************************************************************************
    530 PIMAGE_RESOURCE_DATA_ENTRY 
     530PIMAGE_RESOURCE_DATA_ENTRY
    531531     Win32ImageBase::getResDataLang(PIMAGE_RESOURCE_DIRECTORY pResDirToSearch,
    532532                                    ULONG language, BOOL fGetDefault)
     
    536536
    537537    if(pResDirToSearch == NULL) {
    538         return NULL;
     538    return NULL;
    539539    }
    540540
     
    542542
    543543    if(pResDirToSearch->NumberOfNamedEntries) {
    544         DebugInt3();
     544    DebugInt3();
    545545    }
    546546    paResDirEntries += pResDirToSearch->NumberOfNamedEntries;
    547547
    548548    for (i = 0; i < pResDirToSearch->NumberOfIdEntries; i++) {
    549         if (paResDirEntries[i].u1.Id == language)
     549        if (paResDirEntries[i].u1.Id == language)
    550550        {
    551                 return (PIMAGE_RESOURCE_DATA_ENTRY) (paResDirEntries[i].u2.s.OffsetToDirectory + (ULONG)pResRootDir);
    552         }
     551                return (PIMAGE_RESOURCE_DATA_ENTRY) (paResDirEntries[i].u2.s.OffsetToDirectory + (ULONG)pResRootDir);
     552    }
    553553    }
    554554
     
    556556    if(fGetDefault)
    557557    {
    558         return (PIMAGE_RESOURCE_DATA_ENTRY) (paResDirEntries[0].u2.s.OffsetToDirectory + (ULONG)pResRootDir);
    559     }
    560     return NULL;
    561 }
    562 //******************************************************************************
    563 //******************************************************************************
    564 BOOL Win32ImageBase::enumResourceTypesA(HMODULE hmod, ENUMRESTYPEPROCA lpEnumFunc, 
     558        return (PIMAGE_RESOURCE_DATA_ENTRY) (paResDirEntries[0].u2.s.OffsetToDirectory + (ULONG)pResRootDir);
     559    }
     560    return NULL;
     561}
     562//******************************************************************************
     563//******************************************************************************
     564BOOL Win32ImageBase::enumResourceTypesA(HMODULE hmod, ENUMRESTYPEPROCA lpEnumFunc,
    565565                                        LONG lParam)
    566566{
     
    591591    prde = (PIMAGE_RESOURCE_DIRECTORY_ENTRY)((ULONG)pResRootDir + sizeof(IMAGE_RESOURCE_DIRECTORY));
    592592
    593     for (i=0; i<pResRootDir->NumberOfNamedEntries+pResRootDir->NumberOfIdEntries && fRet; i++) 
    594     {
    595         /* locate directory or each resource type */
    596         prdType = (PIMAGE_RESOURCE_DIRECTORY)((int)pResRootDir + (int)prde->u2.OffsetToData);
     593    for (i=0; i<pResRootDir->NumberOfNamedEntries+pResRootDir->NumberOfIdEntries && fRet; i++)
     594    {
     595        /* locate directory or each resource type */
     596        prdType = (PIMAGE_RESOURCE_DIRECTORY)((int)pResRootDir + (int)prde->u2.OffsetToData);
    597597
    598598        if (prde->u1.s.NameIsString)
    599         {//name or id entry?
    600                 //SvL: 30-10-'97, high bit is set, so clear to get real offset
    601                 nameOffset = prde->u1.Name & ~0x80000000;
    602        
    603                 pstring = (PIMAGE_RESOURCE_DIR_STRING_U)((ULONG)pResRootDir + nameOffset);
    604                 char *typename = (char *)malloc(pstring->Length+1);
    605                 lstrcpynWtoA(typename, pstring->NameString, pstring->Length+1);
    606                 typename[pstring->Length] = 0;
    607 
    608                 fRet = lpEnumFunc(hmod, typename, lParam);
    609                 free(typename);
    610         }
    611         else {
    612                 fRet = lpEnumFunc(hmod, (LPSTR)prde->u1.Id, lParam);
    613         }
     599        {//name or id entry?
     600            //SvL: 30-10-'97, high bit is set, so clear to get real offset
     601            nameOffset = prde->u1.Name & ~0x80000000;
     602
     603            pstring = (PIMAGE_RESOURCE_DIR_STRING_U)((ULONG)pResRootDir + nameOffset);
     604            int len = lstrlenWtoA( pstring->NameString, pstring->Length );
     605            char *typename = (char *)malloc( len + 1 );
     606            lstrcpynWtoA(typename, pstring->NameString, len + 1 );
     607            typename[len] = 0;
     608
     609        fRet = lpEnumFunc(hmod, typename, lParam);
     610            free(typename);
     611        }
     612        else {
     613        fRet = lpEnumFunc(hmod, (LPSTR)prde->u1.Id, lParam);
     614    }
    614615
    615616        /* increment to next entry */
     
    620621//******************************************************************************
    621622//******************************************************************************
    622 BOOL Win32ImageBase::enumResourceTypesW(HMODULE hmod, ENUMRESTYPEPROCW lpEnumFunc, 
     623BOOL Win32ImageBase::enumResourceTypesW(HMODULE hmod, ENUMRESTYPEPROCW lpEnumFunc,
    623624                                        LONG lParam)
    624625{
     
    650651    prde = (PIMAGE_RESOURCE_DIRECTORY_ENTRY)((ULONG)pResRootDir + sizeof(IMAGE_RESOURCE_DIRECTORY));
    651652
    652     for (i=0; i<pResRootDir->NumberOfNamedEntries+pResRootDir->NumberOfIdEntries && fRet; i++) 
    653     {
    654         /* locate directory or each resource type */
    655         prdType = (PIMAGE_RESOURCE_DIRECTORY)((int)pResRootDir + (int)prde->u2.OffsetToData);
     653    for (i=0; i<pResRootDir->NumberOfNamedEntries+pResRootDir->NumberOfIdEntries && fRet; i++)
     654    {
     655        /* locate directory or each resource type */
     656        prdType = (PIMAGE_RESOURCE_DIRECTORY)((int)pResRootDir + (int)prde->u2.OffsetToData);
    656657
    657658        if (prde->u1.s.NameIsString)
    658         {//name or id entry?
    659                 //SvL: 30-10-'97, high bit is set, so clear to get real offset
    660                 nameOffset = prde->u1.Name & ~0x80000000;
    661        
    662                 pstring = (PIMAGE_RESOURCE_DIR_STRING_U)((ULONG)pResRootDir + nameOffset);
    663 
    664                 lpszType = (LPWSTR)malloc((pstring->Length+1) * sizeof(WCHAR));
     659        {//name or id entry?
     660            //SvL: 30-10-'97, high bit is set, so clear to get real offset
     661            nameOffset = prde->u1.Name & ~0x80000000;
     662
     663            pstring = (PIMAGE_RESOURCE_DIR_STRING_U)((ULONG)pResRootDir + nameOffset);
     664
     665        lpszType = (LPWSTR)malloc((pstring->Length+1) * sizeof(WCHAR));
    665666                memcpy(lpszType, pstring->NameString, pstring->Length * sizeof(WCHAR));
    666667                lpszType[pstring->Length] = 0;
    667668
    668                 fRet = lpEnumFunc(hmod, pstring->NameString, lParam);
    669 
    670                 free(lpszType);
    671         }
    672         else    fRet = lpEnumFunc(hmod, (LPWSTR)prde->u1.Id, lParam);
     669        fRet = lpEnumFunc(hmod, pstring->NameString, lParam);
     670
     671        free(lpszType);
     672        }
     673        else    fRet = lpEnumFunc(hmod, (LPWSTR)prde->u1.Id, lParam);
    673674
    674675        /* increment to next entry */
     
    776777                    pszASCII = (char*)pszTmp;
    777778                }
    778                 lstrcpynWtoA(pszASCII, pResDirString->NameString, pResDirString->Length+1);
    779                 pszASCII[pResDirString->Length] = 0;
     779
     780                int len = lstrlenWtoA( pResDirString->NameString, pResDirString->Length );
     781                lstrcpynWtoA(pszASCII, pResDirString->NameString, len + 1);
     782                pszASCII[len] = 0;
    780783                lpszName = pszASCII;
    781784            }
     
    879882            LPWSTR lpszName, lpszResName;
    880883
    881             if(paResDirEntries[i].u1.s.NameIsString) 
     884            if(paResDirEntries[i].u1.s.NameIsString)
    882885            {
    883886                lpszName = (LPWSTR)(paResDirEntries[i].u1.s.NameOffset + (ULONG)pResRootDir + 2);
    884887                length   = (int)*(LPWSTR)(paResDirEntries[i].u1.s.NameOffset + (ULONG)pResRootDir);
    885888
    886                 lpszResName = (LPWSTR)malloc((length+1) * sizeof(WCHAR));
     889            lpszResName = (LPWSTR)malloc((length+1) * sizeof(WCHAR));
    887890                memcpy(lpszResName, lpszName, length * sizeof(WCHAR));
    888891                lpszResName[length] = 0;
    889892
    890893                fRet = lpEnumFunc(hmod, lpszType, lpszResName, lParam);
    891                 free(lpszResName);
     894        free(lpszResName);
    892895            }
    893896            else {
     
    907910//******************************************************************************
    908911//******************************************************************************
    909 BOOL Win32ImageBase::enumResourceLanguagesA(HMODULE hmod, LPCSTR lpszType, 
    910                                             LPCSTR lpszName, 
    911                                             ENUMRESLANGPROCA lpEnumFunc, 
     912BOOL Win32ImageBase::enumResourceLanguagesA(HMODULE hmod, LPCSTR lpszType,
     913                                            LPCSTR lpszName,
     914                                            ENUMRESLANGPROCA lpEnumFunc,
    912915                                            LONG lParam)
    913916{
     
    930933    pResDirRet = getResSubDirA(pResRootDir, lpszType);
    931934    if(!pResDirRet) {
    932         SetLastError(ERROR_RESOURCE_TYPE_NOT_FOUND);
    933         return FALSE;
     935    SetLastError(ERROR_RESOURCE_TYPE_NOT_FOUND);
     936    return FALSE;
    934937    }
    935938    pResDirRet = getResSubDirA(pResDirRet, lpszName);
    936939    if(!pResDirRet) {
    937         SetLastError(ERROR_RESOURCE_NAME_NOT_FOUND);
    938         return FALSE;
     940    SetLastError(ERROR_RESOURCE_NAME_NOT_FOUND);
     941    return FALSE;
    939942    }
    940943
    941944    paResDirEntries = (PIMAGE_RESOURCE_DIRECTORY_ENTRY)((ULONG)pResDirRet + sizeof(*pResDirRet));
    942945    if(pResDirRet->NumberOfNamedEntries) {
    943         DebugInt3();
     946    DebugInt3();
    944947    }
    945948    paResDirEntries += pResDirRet->NumberOfNamedEntries;
    946949
    947     for(int i = 0;i < pResDirRet->NumberOfIdEntries;i++) 
    948     {
    949         fRet = lpEnumFunc(hmod, lpszType, lpszName, paResDirEntries[i].u1.Id, lParam);
    950         if(!fRet)
    951                 break;
     950    for(int i = 0;i < pResDirRet->NumberOfIdEntries;i++)
     951    {
     952    fRet = lpEnumFunc(hmod, lpszType, lpszName, paResDirEntries[i].u1.Id, lParam);
     953    if(!fRet)
     954        break;
    952955    }
    953956    return fRet;
     
    955958//******************************************************************************
    956959//******************************************************************************
    957 BOOL Win32ImageBase::enumResourceLanguagesW(HMODULE hmod, LPCWSTR lpszType, 
    958                                             LPCWSTR lpszName, 
    959                                             ENUMRESLANGPROCW lpEnumFunc, 
     960BOOL Win32ImageBase::enumResourceLanguagesW(HMODULE hmod, LPCWSTR lpszType,
     961                                            LPCWSTR lpszName,
     962                                            ENUMRESLANGPROCW lpEnumFunc,
    960963                                            LONG lParam)
    961964{
     
    978981    pResDirRet = getResSubDirW(pResRootDir, lpszType);
    979982    if(!pResDirRet) {
    980         SetLastError(ERROR_RESOURCE_TYPE_NOT_FOUND);
    981         return FALSE;
     983    SetLastError(ERROR_RESOURCE_TYPE_NOT_FOUND);
     984    return FALSE;
    982985    }
    983986    pResDirRet = getResSubDirW(pResDirRet, lpszName);
    984987    if(!pResDirRet) {
    985         SetLastError(ERROR_RESOURCE_NAME_NOT_FOUND);
    986         return FALSE;
     988    SetLastError(ERROR_RESOURCE_NAME_NOT_FOUND);
     989    return FALSE;
    987990    }
    988991
    989992    paResDirEntries = (PIMAGE_RESOURCE_DIRECTORY_ENTRY)((ULONG)pResDirRet + sizeof(*pResDirRet));
    990993    if(pResDirRet->NumberOfNamedEntries) {
    991         DebugInt3();
     994    DebugInt3();
    992995    }
    993996    paResDirEntries += pResDirRet->NumberOfNamedEntries;
    994997
    995     for(int i = 0;i < pResDirRet->NumberOfIdEntries;i++) 
    996     {
    997         fRet = lpEnumFunc(hmod, lpszType, lpszName, paResDirEntries[i].u1.Id, lParam);
    998         if(!fRet)
    999                 break;
     998    for(int i = 0;i < pResDirRet->NumberOfIdEntries;i++)
     999    {
     1000    fRet = lpEnumFunc(hmod, lpszType, lpszName, paResDirEntries[i].u1.Id, lParam);
     1001    if(!fRet)
     1002        break;
    10001003    }
    10011004    return fRet;
Note: See TracChangeset for help on using the changeset viewer.