handle = (void *)SvIV(handle_sv);
handle = INT2PTR(void *, SvIV(handle_sv));
void **modperl_xs_dl_handles_get(pTHX){    I32 i;    AV *librefs = get_av(dl_librefs, FALSE);    AV *modules = get_av(dl_modules, FALSE);    void **handles;    if (!librefs) {	MP_TRACE_r(MP_FUNC,                   "Could not get @%s for unloading.\n",                   dl_librefs);	return NULL;    }    if (!(AvFILL(librefs) >= 0)) {        /* dl_librefs and dl_modules are empty */        return NULL;    }    handles = (void **)malloc(sizeof(void *) * (AvFILL(librefs)+2));    for (i=0; i<=AvFILL(librefs); i++) {	void *handle;	SV *handle_sv = *av_fetch(librefs, i, FALSE);	SV *module_sv = *av_fetch(modules, i, FALSE);	if(!handle_sv) {	    MP_TRACE_r(MP_FUNC,                       "Could not fetch $%s[%d]!\n",                       dl_librefs, (int)i);	    continue;	}	handle = (void *)SvIV(handle_sv);	MP_TRACE_r(MP_FUNC, "%s dl handle == 0x%lx\n",                   SvPVX(module_sv), (unsigned long)handle);	if (handle) {	    handles[i] = handle;	}    }    av_clear(modules);    av_clear(librefs);    handles[i] = (void *)0;    return handles;}