зеркало из 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;
|
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)
|
static PRUint32 CalculateVariantCount(char* mimeTypes)
|
||||||
{
|
{
|
||||||
PRUint32 variants = 1;
|
PRUint32 variants = 1;
|
||||||
|
@ -203,6 +231,8 @@ nsresult nsPluginFile::GetPluginInfo( nsPluginInfo &info)
|
||||||
|
|
||||||
info.fName = LoadRCDATAString( hPlug, NS_INFO_ProductName);
|
info.fName = LoadRCDATAString( hPlug, NS_INFO_ProductName);
|
||||||
|
|
||||||
|
info.fFileVersion = LoadRCDATAVersion( hPlug, NS_INFO_ProductVersion);
|
||||||
|
|
||||||
// get description (doesn't matter if it's missing)...
|
// get description (doesn't matter if it's missing)...
|
||||||
info.fDescription = LoadRCDATAString( hPlug, NS_INFO_FileDescription);
|
info.fDescription = LoadRCDATAString( hPlug, NS_INFO_FileDescription);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче