回精華區
作者Dinsam.bbs@ccudream.twbbs.org (前世.. o.O) 看板: plan
標題[功能]收信宣言
時間中正築夢園 (Tue, 02 Sep 2003 21:15:24 +0800) Updated: 2004/09/06
: config.h

+ #define MAX_MAILHINTLINES    12      /* 收信宣言長度 */

: mail.c:mail_hint() 新增此函式於 hdr_reply() 之前

static void
mail_hint(userid)              /* 秀出 userid 的主人問候語 */
  char *userid;
{
  int i;
  char buf[80];
  FILE *fp;

  usr_fpath(buf, userid, "mailhint");
  if (fp = fopen(buf, "r"))
  {
    clear();
    move(2, 0);
    prints("這是 %s 的收信宣言\n", userid);

    i = 0;
    while (i++ < MAX_MAILHINTLINES && fgets(buf, sizeof(buf), fp))
      outs(buf);

    fclose(fp);

    vmsg(NULL);
  }
}

: mail.c:mbox_hint_edit() 新增在 mbox_help() 之前

static int
mbox_hint_edit(xo)
  XO *xo;
{
  int mode;
  char fpath[64];

  mode = vans("收信宣言 (D)刪除 (E)修改 (Q)取消?[E] ");

  if (mode != 'q')
  {
    usr_fpath(fpath, cuser.userid, "mailhint");

    if (mode == 'd')
    {
      unlink(fpath);
      return XO_FOOT;
    }

    if (vedit(fpath, 0))      /* Thor.981020: 注意被talk的問題 */
      vmsg(msg_cancel);
    return mbox_head(xo);
  }
  return XO_FOOT;
}

: mail.c mail_send()

  utmp_mode(M_SMAIL);
  fpath[0] = '\0';
  curredit = EDIT_MAIL;         /* Thor.981105: 直接指定寫信 */

+ if (userno)
+   mail_hint(rcpt); /* 秀出收信宣言 */

: mail.c:mbox_cb[]

+ Ctrl('E'), mbox_hint_edit,   // 按鍵自訂 

--
  在看板按 y 回應(B)二者皆是
  並不會看到發信宣言

--
     ˙    ˙ ◢▇◣ ◢▇◣ ▇  ▇ █▇◣ █▇◣ █▇◣ ◢▇◣ █▇▉   
  ˙          █     █     █  █ █  ▉ █  ▉ █▆   █▆▉ ▉▉▉ 
     ˙     ◥█◤ ◥█◤ ◥█◤ ██◤ █◥▆ █▆◤ █  ▉ ▉▉▉˙  
  CDBBS  中正築夢園BBS站 歡迎蒞臨參觀 cd.twbbs.org  (140.123.20.230)    
 http://cd.twbbs.org   Author: Dinsam      ★ From: 218.171.110.242    
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻