return (PRFuncPtr) tp->fp;
return (void*) tp->fp;
pr_FindSymbolInLib(PRLibrary *lm, const char *name){    PRFuncPtr f = NULL;    if (lm->staticTable != NULL) {    const PRStaticLinkTable* tp;    for (tp = lm->staticTable; tp->name; tp++) {        if (strcmp(name, tp->name) == 0) {        return (PRFuncPtr) tp->fp;        }    }        /*         ** If the symbol was not found in the static table then check if        ** the symbol was exported in the DLL... Win16 only!!        */#if !defined(WIN16) && !defined(XP_BEOS)        PR_SetError(PR_FIND_SYMBOL_ERROR, 0);        return (PRFuncPtr)NULL;#endif    }    #ifdef XP_OS2    DosQueryProcAddr(lm->dlh, 0, (PSZ) name, (PFN *) &f);#endif  /* XP_OS2 */#if defined(WIN32) || defined(WIN16)    f = (PRFuncPtr) GetProcAddress(lm->dlh, name);#endif  /* WIN32 || WIN16 */#ifdef XP_MAC    {    Ptr            symAddr;    CFragSymbolClass    symClass;    Str255        pName;                    PStrFromCStr(name, pName);                    f = (PRFuncPtr) (NSFindSymbol(lm->dlh, pName, &symAddr, &symClass)										== noErr) ? symAddr : NULL;    }#endif /* XP_MAC */#ifdef XP_BEOS    if( B_NO_ERROR != get_image_symbol( (image_id)lm->dlh, name, B_SYMBOL_TYPE_TEXT, (void *) &f ) ) {	f = NULL;    }#endif#ifdef XP_UNIX#ifdef HAVE_DLL#ifdef USE_DLFCN    f = (PRFuncPtr) dlsym(lm->dlh, name);#elif defined(USE_HPSHL)    if (shl_findsym(&lm->dlh, name, TYPE_PROCEDURE, (void *) &f) == -1) {        f = NULL;    }#elif defined(USE_MACH_DYLD)    {        NSSymbol symbol;        symbol = NSLookupSymbolInModule(lm->dlh, name);        if (symbol != NULL)            f = (PRFuncPtr) NSAddressOfSymbol(symbol);        else            f = NULL;    }#endif#endif /* HAVE_DLL */#endif /* XP_UNIX */    if (f == NULL) {        PR_SetError(PR_FIND_SYMBOL_ERROR, _MD_ERRNO());        DLLErrorInternal(_MD_ERRNO());    }    return f;}