Method: Krypt::ASN1::ASN1Data#tag=

Defined in:
ext/krypt/core/krypt_asn1.c

#tag=(number) ⇒ Number

  • number: a Number representing the tag number of this ASN1Data.

Must not be nil.

Returns:

  • (Number)


632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
# File 'ext/krypt/core/krypt_asn1.c', line 632

static VALUE
krypt_asn1_data_set_tag(VALUE self, VALUE tag)
{
    krypt_asn1_data *data;
    krypt_asn1_header *header;
    int new_tag;

    int_asn1_data_get(self, data);

    header = data->object->header;
    new_tag = NUM2INT(tag);
    if (header->tag == new_tag)
	return tag;

    header->tag = new_tag;
    int_invalidate_tag(header);
    if (data->update_cb)
	data->update_cb(data);

    int_asn1_data_set_modified(data, 1);
    int_asn1_data_set_tag(self, tag);

    return tag;
}