inherit "/std/object";

void
create_object()
{
	set_name("m_remover");
	set_long("This removes control-M characters kindly placed by " +
"DOS. Type \"mremove\" for syntax.\n");
}

void
init()
{
	::init();

	add_action("m_remove", "mremove");
}


int
m_remove(string str)
{
	int i, len;
	string text;
	string *lines;

	seteuid(getuid());
	if(!stringp(str) || !strlen(str))
	{
		notify_fail("Syntax: mremove <filename>\n");
		return 0;
	}

	str = this_player()->query_path()+"/"+str;
	text = read_file(str);
	if(!stringp(text))
	{
		write("Error reading file: "+str+"\n");
		return 1;
	}

	lines = explode(text, "\n");
	for(i=0; i<sizeof(lines); i++)
	{
		len = strlen(lines[i]);
		if((len > 1) && (lines[i][len-1] == 13))
			lines[i] = lines[i][0..(len-2)];
		else if((len == 1) && (lines[i][0] == 13))
			lines[i] = "";
	}

	text = implode(lines, "\n");
	if(rm(str) != 1)
	{
		write("Could not rewrite file: "+str+"\n");
		return 1;
	}

	write_file(str, text);
	write("Updated file: "+str+"\n");
	return 1;
}
