#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() */