Module: Wtapack

Defined in:
lib/wtapack.rb,
ext/wtapack/wtapack.c

Defined Under Namespace

Classes: Packer

Class Method Summary collapse

Class Method Details

.hello_worldObject



5
6
7
8
# File 'ext/wtapack/wtapack.c', line 5

static VALUE hello_world(VALUE mod)
{
    return rb_str_new2("hello world");
}

.native_pack(argc, argv) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'ext/wtapack/wtapack.c', line 10

static VALUE native_pack(VALUE mod, VALUE argc, VALUE argv)
{
    struct RArray *argv_array = RARRAY(argv);
    
    char** real_argv = ALLOC_N(char*, RARRAY_LEN(argv_array));
    for (int i = 0; i < RARRAY_LEN(argv_array); i++)
    {
        struct RString* string = RSTRING(RARRAY_PTR(argv_array)[i]);
        int length = RSTRING_LEN(string);
        real_argv[i] = ALLOC_N(char, length + 1);
        memcpy(real_argv[i], RSTRING_PTR(string), length);
        real_argv[i][length] = '\0';
    }
    
    return rb_main(NUM2INT(argc), real_argv);
}

.verify_identity(identity_SHA1) ⇒ Object



27
28
29
30
31
32
33
# File 'ext/wtapack/wtapack.c', line 27

static VALUE verify_identity(VALUE mod, VALUE identity_SHA1)
{
    struct RString* cert_SHA1_string = RSTRING(identity_SHA1);
    bool result = verifyCert(RSTRING_PTR(cert_SHA1_string));
    
    return result ? Qtrue : Qfalse;
}