!((PRFuncPtr)KLCacheHasValidTickets_ptr =
!(KLCacheHasValidTicketsPtr =
gssInit(){    nsXPIDLCString libPath;    nsCOMPtr<nsIPrefBranch> prefs = do_GetService(NS_PREFSERVICE_CONTRACTID);    if (prefs) {        prefs->GetCharPref(kNegotiateAuthGssLib, getter_Copies(libPath));         prefs->GetBoolPref(kNegotiateAuthNativeImp, &gssNativeImp);     }    PRLibrary *lib = NULL;    if (!libPath.IsEmpty()) {        LOG(("Attempting to load user specified library [%s]\n", libPath.get()));        gssNativeImp = PR_FALSE;        lib = PR_LoadLibrary(libPath.get());    }    else {        const char *const libNames[] = {            "gss",            "gssapi_krb5",            "gssapi"        };        for (size_t i = 0; i < NS_ARRAY_LENGTH(libNames) && !lib; ++i) {            char *libName = PR_GetLibraryName(NULL, libNames[i]);            if (libName) {                lib = PR_LoadLibrary(libName);                PR_FreeLibraryName(libName);            }        }    }    if (!lib) {        LOG(("Fail to load gssapi library\n"));        return NS_ERROR_FAILURE;    }    LOG(("Attempting to load gss functions\n"));    for (size_t i = 0; i < gssFuncItems; ++i) {        gssFunPtr[i] = PR_FindFunctionSymbol(lib, gssFuncStr[i]);        if (!gssFunPtr[i]) {            LOG(("Fail to load %s function from gssapi library\n", gssFuncStr[i]));            PR_UnloadLibrary(lib);            return NS_ERROR_FAILURE;        }    }#ifdef XP_MACOSX    if (gssNativeImp &&            !((PRFuncPtr)KLCacheHasValidTickets_ptr =               PR_FindFunctionSymbol(lib, "KLCacheHasValidTickets"))) {        LOG(("Fail to load KLCacheHasValidTickets function from gssapi library\n"));        PR_UnloadLibrary(lib);        return NS_ERROR_FAILURE;    }#endif    gssFunInit = PR_TRUE;    return NS_OK;}