Affix

 view release on metacpan or  search on metacpan

lib/Affix.xs  view on Meta::CPAN

            unsigned int err = GetLastError();
            croak("Failed to load %s: %d", lib_name, err);
#else
            char *reason = dlerror();
            croak("Failed to load %s: %s", lib_name, reason);
#endif
            XSRETURN_EMPTY;
        }
    }
    DCpointer ptr = dlFindSymbol(lib, symbol);
    if (ptr == NULL) { // TODO: throw a warning
        croak("Failed to locate symbol %s", symbol);
    }
    MAGIC *mg;
    mg = sv_magicext(sv, NULL, PERL_MAGIC_ext, &pin_vtbl, NULL, 0);
    {
        var_ptr *_ptr;
        Newx(_ptr, 1, var_ptr);
        _ptr->ptr = ptr;
        _ptr->type = newSVsv(type);
        mg->mg_ptr = (char *)_ptr;

lib/Affix.xs  view on Meta::CPAN

        case MANGLE_D:
            break;
        default:
            break;
        }
    }

    call->fptr = dlFindSymbol(lib, symbol_);
    size_t args_len = av_count(args);

    if (call->fptr == NULL) { // TODO: throw a warning
        safefree(call);
        croak("Failed to locate symbol %s", symbol_);
    }

    call->lib = lib;
    call->reset = true;
    call->retval = SvREFCNT_inc(ret);
    Newxz(call->sig, args_len * 2, char);
    Newxz(call->perl_sig, args_len, char);



( run in 0.354 second using v1.01-cache-2.11-cpan-496ff517765 )