Method: LZ4::BlockEncoder#savedict

Defined in:
ext/blockapi.c

#savedictnil #savedict(buf) ⇒ nil

Overloads:

  • #savedictnil

    Returns:

    • (nil)
  • #savedict(buf) ⇒ nil

    Returns:

    • (nil)


547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
# File 'ext/blockapi.c', line 547

static VALUE
blkenc_savedict(int argc, VALUE argv[], VALUE enc)
{
    struct blockencoder *p = encoder_context(enc);
    VALUE dict;

    if (argc == 0) {
        dict = rb_str_buf_new(p->prefixsize);
    } else if (argc == 1) {
        dict = argv[0];
        aux_str_reserve(dict, p->prefixsize);
    } else {
        rb_error_arity(argc, 0, 1);
    }

    memcpy(RSTRING_PTR(dict), p->prefix, p->prefixsize);
    if (p->prefixsize > 0) {
        rb_str_set_len(dict, p->prefixsize);
        return dict;
    } else {
        return Qnil;
    }
}