mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 03:15:11 +00:00
Now filling in fMimeTypeArray, fExtensionArray, and fMimeDescriptionArray.
This commit is contained in:
parent
48109d85b3
commit
ff30b4c143
@ -142,9 +142,25 @@ nsresult nsPluginFile::GetPluginInfo(nsPluginInfo& info)
|
||||
// 'STR#', 128, 2 => extensions.
|
||||
info.fExtensions = GetPluginString(128, 2);
|
||||
|
||||
info.fVariantCount = 0;
|
||||
info.fMimeTypeArray = NULL;
|
||||
info.fMimeDescriptionArray = NULL;
|
||||
// Determine how many 'STR#' resource for all MIME types/extensions.
|
||||
Handle typeList = ::Get1Resource('STR#', 128);
|
||||
if (typeList != NULL) {
|
||||
short stringCount = **(short**)typeList;
|
||||
info.fVariantCount = stringCount / 2;
|
||||
::ReleaseResource(typeList);
|
||||
}
|
||||
|
||||
int variantCount = info.fVariantCount;
|
||||
info.fMimeTypeArray = new char*[variantCount];
|
||||
info.fMimeDescriptionArray = new char*[variantCount];
|
||||
info.fExtensionArray = new char*[variantCount];
|
||||
|
||||
short mimeIndex = 1, descriptionIndex = 1;
|
||||
for (int i = 0; i < variantCount; i++) {
|
||||
info.fMimeTypeArray[i] = GetPluginString(128, mimeIndex++);
|
||||
info.fExtensionArray[i] = GetPluginString(128, mimeIndex++);
|
||||
info.fMimeDescriptionArray[i] = GetPluginString(127, descriptionIndex++);
|
||||
}
|
||||
}
|
||||
|
||||
::CloseResFile(refNum);
|
||||
|
@ -142,9 +142,25 @@ nsresult nsPluginFile::GetPluginInfo(nsPluginInfo& info)
|
||||
// 'STR#', 128, 2 => extensions.
|
||||
info.fExtensions = GetPluginString(128, 2);
|
||||
|
||||
info.fVariantCount = 0;
|
||||
info.fMimeTypeArray = NULL;
|
||||
info.fMimeDescriptionArray = NULL;
|
||||
// Determine how many 'STR#' resource for all MIME types/extensions.
|
||||
Handle typeList = ::Get1Resource('STR#', 128);
|
||||
if (typeList != NULL) {
|
||||
short stringCount = **(short**)typeList;
|
||||
info.fVariantCount = stringCount / 2;
|
||||
::ReleaseResource(typeList);
|
||||
}
|
||||
|
||||
int variantCount = info.fVariantCount;
|
||||
info.fMimeTypeArray = new char*[variantCount];
|
||||
info.fMimeDescriptionArray = new char*[variantCount];
|
||||
info.fExtensionArray = new char*[variantCount];
|
||||
|
||||
short mimeIndex = 1, descriptionIndex = 1;
|
||||
for (int i = 0; i < variantCount; i++) {
|
||||
info.fMimeTypeArray[i] = GetPluginString(128, mimeIndex++);
|
||||
info.fExtensionArray[i] = GetPluginString(128, mimeIndex++);
|
||||
info.fMimeDescriptionArray[i] = GetPluginString(127, descriptionIndex++);
|
||||
}
|
||||
}
|
||||
|
||||
::CloseResFile(refNum);
|
||||
|
Loading…
Reference in New Issue
Block a user