/** * call-seq: * id() -> string or nil * * Returns the DiscID as a string. * * Returns +nil+ if no ID was yet read. */ static VALUE mb_discid_id(VALUE self) { if (rb_iv_get(self, "@read") == Qfalse) return Qnil; else { DiscId *disc; Data_Get_Struct(self, DiscId, disc); return rb_str_new2(discid_get_id(disc)); } }