Run Winelib applications as 32-bit processes in the initial task.
Simplified/removed several special 'if (__winelib)' cases in
Wine main code obsoleted by that change.
diff --git a/loader/resource.c b/loader/resource.c
index a513966..d482549 100644
--- a/loader/resource.c
+++ b/loader/resource.c
@@ -66,7 +66,7 @@
*/
HRSRC32 WINAPI FindResourceEx32W( HMODULE32 hModule, LPCWSTR type,
LPCWSTR name, WORD lang )
-{ HRSRC32 ret;
+{
WINE_MODREF *wm = MODULE32_LookupHMODULE(PROCESS_Current(),hModule);
HRSRC32 hrsrc;
@@ -75,24 +75,27 @@
debugres_w (type),
debugres_w (name));
- if (__winelib) {
- hrsrc = LIBRES_FindResource( hModule, name, type );
- if (hrsrc)
- return hrsrc;
+ if (!wm) return (HRSRC32)0;
+
+ switch (wm->type)
+ {
+ case MODULE32_PE:
+ hrsrc = PE_FindResourceEx32W(wm,name,type,lang);
+ break;
+
+ case MODULE32_ELF:
+ hrsrc = LIBRES_FindResource( hModule, name, type );
+ break;
+
+ default:
+ ERR(module,"unknown module type %d\n",wm->type);
+ return (HRSRC32)0;
}
- if (wm) {
- switch (wm->type) {
- case MODULE32_PE:
- ret = PE_FindResourceEx32W(wm,name,type,lang);
- if ( ret==0 )
- ERR(resource,"0x%08x(%s) %s(%s) not found!\n", hModule,wm->modname, debugres_w (name), debugres_w (type));
- return ret;
- default:
- ERR(module,"unknown module type %d\n",wm->type);
- break;
- }
- }
- return (HRSRC32)0;
+
+ if ( !hrsrc )
+ ERR(resource,"0x%08x(%s) %s(%s) not found!\n", hModule,wm->modname, debugres_w (name), debugres_w (type));
+
+ return hrsrc;
}
@@ -124,16 +127,20 @@
ERR(resource,"hRsrc is 0, return 0.\n");
return 0;
}
- if (wm)
- switch (wm->type) {
- case MODULE32_PE:
- return PE_LoadResource32(wm,hRsrc);
- default:
- ERR(resource,"unknown module type %d\n",wm->type);
- break;
- }
- if (__winelib)
- return LIBRES_LoadResource( hModule, hRsrc );
+ if (!wm) return 0;
+
+ switch (wm->type)
+ {
+ case MODULE32_PE:
+ return PE_LoadResource32(wm,hRsrc);
+
+ case MODULE32_ELF:
+ return LIBRES_LoadResource( hModule, hRsrc );
+
+ default:
+ ERR(resource,"unknown module type %d\n",wm->type);
+ break;
+ }
return 0;
}
@@ -175,23 +182,21 @@
WINE_MODREF *wm = MODULE32_LookupHMODULE(PROCESS_Current(),hModule);
TRACE(resource, "module=%08x res=%08x\n", hModule, hRsrc );
- if (wm)
- switch (wm->type)
- {
- case MODULE32_PE:
- {
- DWORD ret;
- ret = PE_SizeofResource32(hModule,hRsrc);
- if (ret)
- return ret;
- break;
- }
- default:
- ERR(module,"unknown module type %d\n",wm->type);
- break;
- }
- if (__winelib)
- FIXME(module,"Not implemented for WINELIB\n");
+ if (!wm) return 0;
+
+ switch (wm->type)
+ {
+ case MODULE32_PE:
+ return PE_SizeofResource32(hModule,hRsrc);
+
+ case MODULE32_ELF:
+ FIXME(module,"Not implemented for ELF modules\n");
+ break;
+
+ default:
+ ERR(module,"unknown module type %d\n",wm->type);
+ break;
+ }
return 0;
}