荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jjksam (eee), 信区: Announce
标  题: [new]按 M 看信功能                     jjksam
发信站: 荔园晨风BBS站 (Fri Nov  7 20:47:30 2003), 站内信件

修改
~/bbs/announcereadhelp
~/bbs/boardreadhelp
加上相关帮助说明

diff -r -u bbssrc.bak bbssrc

Thanks for using Vim 600 . --Sven Guckes@vim.org!

[bbs /root/src]# mv Mail.diff mail.diff
[bbs /root/src]# cat mail.diff
Binary files bbssrc.bak/lib/libBBS.a and bbssrc/lib/libBBS.a differ
diff -r -u bbssrc.bak/src/announce.c bbssrc/src/announce.c
--- bbssrc.bak/src/announce.c   Fri Nov  7 19:37:57 2003
+++ bbssrc/src/announce.c       Fri Nov  7 20:21:49 2003
@@ -74,7 +74,7 @@
        clear();
        if (chkmail()) {
                prints("");
-               sprintf(genbuf, "[您有信件]");
+               sprintf(genbuf, "[您有信件,按 M 看新信]");
        } else
                strcpy(genbuf, pm->mtitle);
        sprintf(buf, "%*s", (80 - strlen(genbuf)) / 2, "");
@@ -772,7 +772,7 @@
                                a_fmode = 1;
                        pm->page = 9999;
                        break;
-               case 'M':
+               case 'm':
                        a_moveitem(pm);
                        pm->page = 9999;
                        break;
@@ -867,6 +867,7 @@
        char    buf[STRLEN];
        int     bmonly;
        int     number = 0;
+       int     savemode;
        modify_user_mode(DIGEST);
        me.path = path;
        strcpy(me.mtitle, maintitle);
@@ -967,6 +968,12 @@
                        }
                        show_message(NULL);
                        break;
+               case 'M':
+                       savemode = uinfo.mode;
+                       m_new();
+                       modify_user_mode(savemode);
+                       me.page = 9999;
+                       break;
                case 'h':
                        show_help("help/announcereadhelp");
                        me.page = 9999;
diff -r -u bbssrc.bak/src/bbs.c bbssrc/src/bbs.c
--- bbssrc.bak/src/bbs.c        Fri Nov  7 19:37:57 2003
+++ bbssrc/src/bbs.c    Fri Nov  7 19:42:35 2003
@@ -566,7 +566,7 @@
                sprintf(header, "板主: %s", currBM);
        }
        if (chkmail())
-               strcpy(title, "[您有信件]");
+               strcpy(title, "[您有信件,按 M 看新信]");
        else if ((bp->flag & VOTE_FLAG))
                sprintf(title, "※ 投票中,按 V 进入投票 ※");
        else
diff -r -u bbssrc.bak/src/boards.c bbssrc/src/boards.c
--- bbssrc.bak/src/boards.c     Fri Nov  7 19:37:57 2003
+++ bbssrc/src/boards.c Fri Nov  7 20:02:29 2003
@@ -528,6 +528,10 @@
                        show_allmsgs();
                        page = -1;
                        break;
+               case 'M':
+                       m_new();
+                       page = -1;
+                       break;
                case 'N':
                case ' ':
                case Ctrl('F'):
diff -r -u bbssrc.bak/src/mail.c bbssrc/src/mail.c
--- bbssrc.bak/src/mail.c       Fri Nov  7 19:37:57 2003
+++ bbssrc/src/mail.c   Fri Nov  7 20:16:21 2003
@@ -504,27 +504,28 @@
 int
 m_new()
 {
-       clear();
-       mrd = 0;
-       modify_user_mode(RMAIL);
-       read_new_mail(NULL);
-       if (apply_record(currmaildir, read_new_mail, sizeof(struct fileheader))
== -1) {
+   if(!strcmp(currentuser.userid,"guest")) return 0;
+   clear();
+   mrd = 0;
+   modify_user_mode(RMAIL);
+   read_new_mail(NULL);
+
+   if (apply_record(currmaildir, read_new_mail, sizeof(struct fileheader))
== -1)
+   {
                clear();
                move(0, 0);
-               prints("No new messages\n\n\n");
+               prints("您现在没有新信件!\n\n\n");
                return -1;
-       }
-       if (delcnt) {
-               while (delcnt--)
-                  delete_record(currmaildir, sizeof(struct fileheader),
delmsgs[delcnt]);
-       }
-       clear();
-       move(0, 0);
-       if (mrd)
-               prints("No more messages.\n\n\n");
-       else
-               prints("No new messages.\n\n\n");
-       return -1;
+   }
+   while (delcnt--)
+      delete_record(currmaildir,sizeof(struct fileheader),delmsgs[delcnt]);
+   if(!mrd){
+      clear();
+      move(10, 30);
+      prints("您现在没有新信件!");
+      pressanykey();
+   }
+   return -1;
 }

 extern char BoardName[];
diff -r -u bbssrc.bak/src/main.c bbssrc/src/main.c
--- bbssrc.bak/src/main.c       Fri Nov  7 19:37:57 2003
+++ bbssrc/src/main.c   Fri Nov  7 19:42:06 2003
@@ -1252,9 +1252,9 @@
 {
        char    middoc[30];
        if (chkmail())
-               strcpy(middoc, "[您有信件]");
+               strcpy(middoc, strstr(title,
                       "讨论区列表")?"[您有信件,按 M 看新信]":"[您有信件]");
        else if (mailXX == 1)
-               strcpy(middoc, "[信件过量!!!]");
+               strcpy(middoc, "[信件过量!]");
        else
                strcpy(middoc, BoardName);

diff -r -u bbssrc.bak/src/read.c bbssrc/src/read.c
--- bbssrc.bak/src/read.c       Fri Nov  7 19:37:57 2003
+++ bbssrc/src/read.c   Fri Nov  7 20:03:27 2003
@@ -335,7 +335,7 @@
 struct keeploc *locmem;
 int     ch, ssize;
 {
-       int     i, mode = DONOTHING;
+       int     i, savemode, mode = DONOTHING;
        switch (ch) {
        case 'q':
        case 'e':
@@ -349,6 +349,11 @@
        case Ctrl('L'):
                redoscr();
                break;
+       case 'M':
+               savemode = uinfo.mode;
+               m_new();
+               modify_user_mode(savemode);
+               return FULLUPDATE;
        case 'k':
        case KEY_UP:
                if (cursor_pos(locmem, locmem->crs_line - 1, screen_len - 2))


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店