#include <daemons.h>
mapping close_up;
#include "/adm/net/inet.h"
void create() {
seteuid(getuid());
close_up = ([ ]);
} /* create() */
void read_callback(int fd, string mess) {
string str, person, mud, who, message;
object ob;
if (sscanf(mess, "%s@%s tells %s: %s\n", person, mud, who, message) != 4) {
previous_object()->write_fd(fd, "Tell_Server@"+"tabor"+" tells "+
"whoever-the-heck-this-is: You have "+
"an incorrect message format.\n");
} else if (!find_player(who)) {
previous_object()->write_fd(fd, "Tell_Server@"+"tabor"+" tells "+
person+": Either "+who+" isn't logged on "+
"or you are a right womble.\n");
} else {
if (person == "TS") person = "Tell_Server";
/* reply/tell stuff */
find_player(who) -> set("reply/tell", lower_case(person) + "@" + lower_case(mud));
if (sscanf(message, "%s?", str))
str = "asks";
else str = "tells";
tell_object(find_player(who),
wrap(FIGURE_D->figure_width( find_player(who) ),
capitalize(person) +
"@" + all_caps(mud) +
" " + str + " you, '", message, "'"));
}
previous_object()->close_fd(fd);
} /* read_callback() */