/* /secure/cmds/player/chfn.c * from the Foundation II LPC Library * just when you thought you were safe from lisp * created by Descartes of Borg 950517 */ #include <lib.h> inherit LIB_DAEMON; mixed cmd(string args) { function f; string rname; message("system", "Changing user information for " + (string)previous_object()->GetCapName() + ": ", previous_object()); rname = (string)previous_object()->GetRealName(); message("prompt", "Real name [" + rname + "] ", previous_object()); f = function(string str, string old, object ob) { function g; if( !str || str == "" ) str = old; if( str != old ) { ob->SetRealName(str); message("system", "Real name changed to " + str, ob); } else message("system", "Real name unchanged.", ob); str = (string)ob->GetEmail(); message("prompt", "Email [" + str + "] ", ob); g = function(string str, string old, object ob) { if( !str || str == "" ) str = old; if( str != old ) { string a, b; if( sscanf(str, "%s@%s", a, b) != 2 ) { message("system", "Invalid email.", ob); return; } ob->SetEmail(str); message("system", "Email changed to " + str, ob); } else message("system", "Email unchanged.", ob); }; input_to(g, str, ob); }; input_to(f, rname, previous_object()); return 1; } void help() { message("help", "Syntax: <chfn>\n\n" "Allows you to change your real life information.\n\n" "See also: passwd", this_player()); }