Bug 330108, ISO C++ forbids casting between pointer-to-function and pointer-to-object (use PR_FindFunctionSymbol), r=jst, sr=biesi

This commit is contained in:
flamingice@sourmilk.net 2007-07-17 13:02:43 -07:00
Родитель 63193a345b
Коммит eefaa5dbde
4 изменённых файлов: 10 добавлений и 10 удалений

Просмотреть файл

@ -579,7 +579,7 @@ ns4xPlugin::CreatePlugin(nsIServiceManagerObsolete* aServiceMgr,
callbacks.size = sizeof(callbacks);
NP_PLUGINSHUTDOWN pfnShutdown =
(NP_PLUGINSHUTDOWN)PR_FindSymbol(aLibrary, "NP_Shutdown");
(NP_PLUGINSHUTDOWN)PR_FindFunctionSymbol(aLibrary, "NP_Shutdown");
// create the new plugin handler
*aResult = plptr =
@ -599,7 +599,7 @@ ns4xPlugin::CreatePlugin(nsIServiceManagerObsolete* aServiceMgr,
plptr->Initialize();
NP_PLUGINUNIXINIT pfnInitialize =
(NP_PLUGINUNIXINIT)PR_FindSymbol(aLibrary, "NP_Initialize");
(NP_PLUGINUNIXINIT)PR_FindFunctionSymbol(aLibrary, "NP_Initialize");
if (pfnInitialize == NULL)
return NS_ERROR_UNEXPECTED; // XXX Right error?
@ -898,7 +898,7 @@ nsresult
ns4xPlugin::GetMIMEDescription(const char* *resultingDesc)
{
const char* (*npGetMIMEDescription)() =
(const char* (*)()) PR_FindSymbol(fLibrary, "NP_GetMIMEDescription");
(const char* (*)()) PR_FindFunctionSymbol(fLibrary, "NP_GetMIMEDescription");
*resultingDesc = npGetMIMEDescription ? npGetMIMEDescription() : "";
@ -918,7 +918,7 @@ ns4xPlugin::GetValue(nsPluginVariable variable, void *value)
("ns4xPlugin::GetValue called: this=%p, variable=%d\n", this, variable));
NPError (*npGetValue)(void*, nsPluginVariable, void*) =
(NPError (*)(void*, nsPluginVariable, void*)) PR_FindSymbol(fLibrary,
(NPError (*)(void*, nsPluginVariable, void*)) PR_FindFunctionSymbol(fLibrary,
"NP_GetValue");
if (npGetValue && NPERR_NO_ERROR == npGetValue(nsnull, variable, value)) {

Просмотреть файл

@ -4717,9 +4717,9 @@ NS_IMETHODIMP nsPluginHostImpl::GetPluginFactory(const char *aMimeType, nsIPlugi
// need to get the plugin factory from this plugin.
nsFactoryProc nsGetFactory = nsnull;
#ifdef XP_OS2
nsGetFactory = (nsFactoryProc) PR_FindSymbol(pluginTag->mLibrary, "_NSGetFactory");
nsGetFactory = (nsFactoryProc) PR_FindFunctionSymbol(pluginTag->mLibrary, "_NSGetFactory");
#else
nsGetFactory = (nsFactoryProc) PR_FindSymbol(pluginTag->mLibrary, "NSGetFactory");
nsGetFactory = (nsFactoryProc) PR_FindFunctionSymbol(pluginTag->mLibrary, "NSGetFactory");
#endif
if(nsGetFactory != nsnull && IsCompatibleExecutable(pluginTag->mFullPath))
{
@ -4939,7 +4939,7 @@ static nsresult FixUpPluginInfo(nsPluginInfo &aInfo, nsPluginFile &aPluginFile)
if (NS_FAILED(aPluginFile.LoadPlugin(library)) || !library)
return NS_ERROR_FAILURE;
NP_GETMIMEDESCRIPTION pf = (NP_GETMIMEDESCRIPTION)PR_FindSymbol(library, "NP_GetMIMEDescription");
NP_GETMIMEDESCRIPTION pf = (NP_GETMIMEDESCRIPTION)PR_FindFunctionSymbol(library, "NP_GetMIMEDescription");
if (pf) {
// if we found it, this is the default plugin, return

Просмотреть файл

@ -332,7 +332,7 @@ nsresult nsPluginFile::GetPluginInfo(nsPluginInfo& info)
if (pLibrary) {
// First, check for NP_GetMIMEDescription
NP_GETMIMEDESCRIPTION pfnGetMimeDesc =
(NP_GETMIMEDESCRIPTION)PR_FindSymbol(pLibrary, NP_GETMIMEDESCRIPTION_NAME);
(NP_GETMIMEDESCRIPTION)PR_FindFunctionSymbol(pLibrary, NP_GETMIMEDESCRIPTION_NAME);
if (pfnGetMimeDesc) {
nsresult rv = ParsePluginMimeDescription(pfnGetMimeDesc(), info);
if (NS_SUCCEEDED(rv)) { // if we could parse the mime types from NP_GetMIMEDescription,
@ -343,7 +343,7 @@ nsresult nsPluginFile::GetPluginInfo(nsPluginInfo& info)
// Next check for mime info from BP_GetSupportedMIMETypes
BP_GETSUPPORTEDMIMETYPES pfnMime =
(BP_GETSUPPORTEDMIMETYPES)PR_FindSymbol(pLibrary, "BP_GetSupportedMIMETypes");
(BP_GETSUPPORTEDMIMETYPES)PR_FindFunctionSymbol(pLibrary, "BP_GetSupportedMIMETypes");
if (pfnMime && noErr == pfnMime(&mi, 0) && mi.typeStrings) {
info.fVariantCount = (**(short**)mi.typeStrings) / 2;
::HLock(mi.typeStrings);

Просмотреть файл

@ -437,7 +437,7 @@ nsresult nsPluginFile::GetPluginInfo(nsPluginInfo& info)
nsServiceManager::GetGlobalServiceManager((nsIServiceManager**)&mgr);
nsFactoryProc nsGetFactory =
(nsFactoryProc) PR_FindSymbol(pLibrary, "NSGetFactory");
(nsFactoryProc) PR_FindFunctionSymbol(pLibrary, "NSGetFactory");
nsCOMPtr<nsIPlugin> plugin;