/**
 * 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));
        }
}