/*
* 現在のレコードのキーを返す
*
* === Return
* String
*/
static VALUE records_curr_key(VALUE obj)
{
sen_records *recs;
int keylen;
char keybuf[256];
char *bufp;
VALUE key;
Data_Get_Struct(obj, sen_records, recs);
keylen = sen_records_curr_key(recs, NULL, 0);
if (keylen == 0)
return Qnil;
if (keylen <= sizeof(keybuf)) {
key = rb_str_new(keybuf, keylen-1);
} else {
bufp = xmalloc(keylen+1);
sen_records_curr_key(recs, bufp, keylen+1);
key = rb_str_new(bufp, keylen-1);
xfree(bufp);
}
return key;
}