    /*
     *  call-seq:
     *     fis.fields -> symbol array
     *
     *  Return a list of the field names (as symbols) of all the fields in the
     *  index.
     */
    static VALUE
    frt_fis_get_fields(VALUE self)
    {
        FieldInfos *fis = (FieldInfos *)DATA_PTR(self);
        VALUE rfield_names = rb_ary_new();
        int i;
        for (i = 0; i < fis->size; i++) {
            rb_ary_push(rfield_names, ID2SYM(rb_intern(fis->fields[i]->name)));
        }
        return rfield_names;
    }