Module: AsciiPack

Defined in:
lib/asciipack/version.rb,
ext/asciipack/init.c

Defined Under Namespace

Classes: Packer, Unpacker

Constant Summary collapse

VERSION =
"0.2.3"

Class Method Summary collapse

Class Method Details

.packObject



592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
# File 'ext/asciipack/packer.c', line 592

static VALUE
AsciiPack_pack (int argc, VALUE* argv)
{
  VALUE str;
  VALUE v = *argv;
  VALUE self = Packer_alloc(cAsciiPack_Packer);

  PACKER(self, ptr);
  if (!ptr) {
    rb_raise(rb_eArgError, "unallocated packer");
  }
  Packer_init(ptr);

  Packer_write_value(ptr, v);

  str = Packer_write_to_s(ptr);

  Packer_write_clear(ptr);
  return str;
}

.unpackObject



320
321
322
323
324
325
326
327
328
329
330
331
# File 'ext/asciipack/unpacker.c', line 320

static VALUE
AsciiPack_unpack (int argc, VALUE *argv)
{
  VALUE v = argv[0];
  VALUE self = Unpacker_alloc(cAsciiPack_Unpacker);

  UNPACKER(self, ptr);

  Unpacker_buffer_feed(ptr, v);

  return Unpacker_buffer_read(ptr);
}