@@ -537,11 +537,15 @@ static PIMAGE_RESOURCE_DIRECTORY_ENTRY _MemorySearchResourceEntry(
537537 DWORD end ;
538538 DWORD middle ;
539539
540- if (!IS_INTRESOURCE (key ) && key [0 ] == _T ('#' )) {
540+ if (!IS_INTRESOURCE (key ) && key [0 ] == TEXT ('#' )) {
541541 // special case: resource id given as string
542- _TCHAR * endpos = NULL ;
543- long int tmpkey = (WORD ) _tcstol ((_TCHAR * ) & key [1 ], & endpos , 10 );
544- if (tmpkey <= 0xffff && _tcslen (endpos ) == 0 ) {
542+ TCHAR * endpos = NULL ;
543+ #if defined(UNICODE )
544+ long int tmpkey = (WORD ) wcstol ((TCHAR * ) & key [1 ], & endpos , 10 );
545+ #else
546+ long int tmpkey = (WORD ) strtol ((TCHAR * ) & key [1 ], & endpos , 10 );
547+ #endif
548+ if (tmpkey <= 0xffff && lstrlen (endpos ) == 0 ) {
545549 key = MAKEINTRESOURCE (tmpkey );
546550 }
547551 }
@@ -570,28 +574,28 @@ static PIMAGE_RESOURCE_DIRECTORY_ENTRY _MemorySearchResourceEntry(
570574 } else {
571575 start = 0 ;
572576 end = resources -> NumberOfIdEntries ;
573- #ifndef _UNICODE
574- _TCHAR * searchKey = NULL ;
577+ #if !defined( UNICODE )
578+ char * searchKey = NULL ;
575579 int searchKeyLength = 0 ;
576580#endif
577581 while (end > start ) {
578582 // resource names are always stored using 16bit characters
579583 middle = (start + end ) >> 1 ;
580584 PIMAGE_RESOURCE_DIR_STRING_U resourceString = (PIMAGE_RESOURCE_DIR_STRING_U ) (((char * ) root ) + (entries [middle ].Name & 0x7FFFFFFF ));
581585 int cmp ;
582- #ifndef _UNICODE
586+ #if !defined( UNICODE )
583587 if (searchKey == NULL || searchKeyLength < resourceString -> Length ) {
584588 void * tmp = realloc (searchKey , resourceString -> Length );
585589 if (tmp == NULL ) {
586590 break ;
587591 }
588592
589- searchKey = (_TCHAR * ) tmp ;
593+ searchKey = (char * ) tmp ;
590594 }
591595 wcstombs (searchKey , resourceString -> NameString , resourceString -> Length );
592596 cmp = strncmp (key , searchKey , resourceString -> Length );
593597#else
594- cmp = wcsncmp (( _TCHAR * ) key , resourceString -> NameString , resourceString -> Length );
598+ cmp = wcsncmp (key , resourceString -> NameString , resourceString -> Length );
595599#endif
596600 if (cmp < 0 ) {
597601 end = middle ;
@@ -602,7 +606,7 @@ static PIMAGE_RESOURCE_DIRECTORY_ENTRY _MemorySearchResourceEntry(
602606 break ;
603607 }
604608 }
605- #ifndef _UNICODE
609+ #if !defined( UNICODE )
606610 free (searchKey );
607611#endif
608612 }
@@ -716,8 +720,8 @@ MemoryLoadStringEx(HMEMORYMODULE module, UINT id, LPTSTR buffer, int maxsize, WO
716720 } else {
717721 buffer [size ] = 0 ;
718722 }
719- #ifdef _UNICODE
720- _tcsncpy (buffer , data -> NameString , size );
723+ #if defined( UNICODE )
724+ wcsncpy (buffer , data -> NameString , size );
721725#else
722726 wcstombs (buffer , data -> NameString , size );
723727#endif
0 commit comments