/*
 *  call-seq:
 *      File.set_attr(filename, attribute, attribute_value) -> attribute_value
 *
 *  Sets the attribute <i>attribute</i> for the file <i>filename</i>
 *
 *      File.set_attr("test.rb", "description", "test script") # => "test script"
 *
 */


static VALUE rb_file_set_attr(obj, fname, aname, aval)
        VALUE obj, fname, aname, aval;
{
        int ret;

        Check_Type(fname, T_STRING);
        Check_Type(aname, T_STRING);
        Check_Type(aval, T_STRING);

        ret = attr_set(StringValueCStr(fname), StringValueCStr(aname), 
                        StringValueCStr(aval), RSTRING(aval)->len, 1);
        if(ret == 0) {
                return aval;
        } else {
                rb_sys_fail(StringValueCStr(fname));
        }
}