On Tue, 7 Jan 1997, Corey Hoitsma wrote: > Hmm, does anyone know how to use the header_data stuff for mail? > > I'm trying to make it so that the mail's short desc includes > the name of the sender. Like: > > A piece of mail from Jack. > > Rather than just a piece of mail. Thanks for any help! It'll take some twisting and turning of read_delete(). Here's some instructions (caution: written inside mailer, use at your own risk...I think we can make a new acronym "CWIN" [caution: written in mailer] so I don't have to keep typing this)...Note that if you're using my obj_mail patch you'll have to change this a little... char *read_mail(long recipient, char **from) { . . . tmstr = asctime(localtime(&header.header_data.mail_time)); *(tmstr + strlen(tmstr) - 1) = '\0'; // ADD THE FOLLOWING *from = get_name_by_id(header.header_data.from); sprintf(buf, " * * * * Midgaard Mail System * * * *\r\n" . . . } Now, down in postmaster_receive_mail(), change the function as follows: char buf[256]; struct obj_data *obj; char *from; . . . while (has_mail(GET_IDNUM(ch))) { obj = create_obj(); obj->item_number = NOTHING; obj->name = str_dup("mail paper letter"); obj->action_description = read_delete(GET_IDNUM(ch), &from); sprintf(buf, "a piece of mail from %s", from); obj->short_description = str_dup(buf); . . . GET_OBJ_RENT(obj) = 10; if (obj->action_description == NULL) obj->action_description = str_dup("Mail system error - please report. Error #11.\r\n"); . . . Note that the three periods stands for the lines inbetween the prior code block and the next one. The above should do it. Not sure, though... -- Daniel Koepke dkoepke@california.com Forgive me father, for I am sin. +-----------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html | +-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST