Ignore:
Timestamp:
Oct 4, 1999, 10:52:34 PM (26 years ago)
Author:
sandervl
Message:

version fixes, resource lookup change + lstrcmpniW added

File:
1 edited

Legend:

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

    r1118 r1131  
    1 /* $Id: winimgres.cpp,v 1.18 1999-10-04 09:55:57 sandervl Exp $ */
     1/* $Id: winimgres.cpp,v 1.19 1999-10-04 20:52:34 sandervl Exp $ */
    22
    33/*
     
    1010 *
    1111 * TODO: Check created resource objects before loading the resource!
    12  * TODO: Is the name id of the version resource always 1?
    1312 * TODO: Once the resource handling in PE2LX/win32k is changed,
    1413 *       getVersionStruct/Size can be moved into the Win32ImageBase class
     
    143142  prde    = (PIMAGE_RESOURCE_DIRECTORY_ENTRY)((DWORD)prdType + sizeof(IMAGE_RESOURCE_DIRECTORY));
    144143
    145   if(level == 3 && *nodeData == LANG_GETFIRST) {
     144  //level 2 (id)   -> get first id?
     145  //level 3 (lang) -> get first language?
     146  if(*nodeData == IDLANG_GETFIRST) {
    146147        nrres  = prdType->NumberOfNamedEntries + prdType->NumberOfIdEntries;
    147148        fNumId = (prdType->NumberOfNamedEntries == 0);
     
    150151        fNumId = HIWORD(*nodeData) == 0;
    151152
    152         if(fNumId) {//numeric or string id?
     153        if(fNumId) {//numeric or string id?
    153154                nrres = prdType->NumberOfIdEntries;
    154155                prde += prdType->NumberOfNamedEntries;  //skip name entries
     
    161162        prdType2 = (PIMAGE_RESOURCE_DIRECTORY)((ULONG)pResDir + (ULONG)prde->u2.OffsetToData);
    162163
     164        if(*nodeData == IDLANG_GETFIRST) {
     165                fFound = TRUE; //always take the first one
     166        }
     167        else
    163168        if(!fNumId) {//name or id entry?
    164169                nameOffset = prde->u1.Name;
     
    180185                        fFound = TRUE;
    181186        }
    182         if(*nodeData == LANG_GETFIRST)
    183                 fFound = TRUE;
    184187
    185188        if(fFound) {
     
    474477        return FALSE;
    475478  }
    476   pData = getPEResourceEntry(1, NTRT_VERSION);
     479  pData = getPEResourceEntry(ID_GETFIRST, NTRT_VERSION);
    477480  if(pData == NULL) {
    478481        dprintf(("Win32PeLdrImage::getVersionStruct: couldn't find version resource!"));
Note: See TracChangeset for help on using the changeset viewer.