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

VALUE rb_file_set_attrf(fobj, aname, aval)
	  VALUE fobj, aname, aval;
{
	int ret;
	OpenFile *fptr;
	FILE *f;

	GetOpenFile(fobj, fptr);
	f = GetReadFile(fptr);

	Check_Type(fobj, T_FILE);
	Check_Type(aname, T_STRING);
	Check_Type(aval, T_STRING);
	ret = attr_setf(fileno(f), StringValueCStr(aname), 
			StringValueCStr(aval), RSTRING(aval)->len, 1);
	if(ret == 0) {
		return aval;
	} else {
		rb_sys_fail("");
	}
}