зеркало из https://github.com/mozilla/gecko-dev.git
[OS/2] Bug 446159: query the plugin version resource on OS/2, r=mkaply
This commit is contained in:
Родитель
d4087165b0
Коммит
692af584ce
|
@ -81,6 +81,34 @@ static char *LoadRCDATAString( HMODULE hMod, ULONG resid)
|
|||
return string;
|
||||
}
|
||||
|
||||
/* Load a version string stored as RCDATA in a resource segment */
|
||||
/* Returned string needs to be PR_Free'd by caller */
|
||||
static char *LoadRCDATAVersion(HMODULE hMod, ULONG resid)
|
||||
{
|
||||
APIRET rc;
|
||||
ULONG ulSize = 0;
|
||||
char *string = 0;
|
||||
|
||||
rc = DosQueryResourceSize(hMod, RT_RCDATA, resid, &ulSize);
|
||||
|
||||
// version info is should be 8 chars
|
||||
if (rc == NO_ERROR && ulSize == 8)
|
||||
{
|
||||
char *version = NULL;
|
||||
rc = DosGetResource(hMod, RT_RCDATA, resid, (void**) &version);
|
||||
|
||||
if (rc == NO_ERROR)
|
||||
{
|
||||
string = PR_smprintf("%d.%d.%d.%d\n",
|
||||
version[0], version[2], version[4], version[6]);
|
||||
|
||||
DosFreeResource(version);
|
||||
}
|
||||
}
|
||||
|
||||
return string;
|
||||
}
|
||||
|
||||
static PRUint32 CalculateVariantCount(char* mimeTypes)
|
||||
{
|
||||
PRUint32 variants = 1;
|
||||
|
@ -203,6 +231,8 @@ nsresult nsPluginFile::GetPluginInfo( nsPluginInfo &info)
|
|||
|
||||
info.fName = LoadRCDATAString( hPlug, NS_INFO_ProductName);
|
||||
|
||||
info.fFileVersion = LoadRCDATAVersion( hPlug, NS_INFO_ProductVersion);
|
||||
|
||||
// get description (doesn't matter if it's missing)...
|
||||
info.fDescription = LoadRCDATAString( hPlug, NS_INFO_FileDescription);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче