荔园在线

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

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


发信人: jjksam ([==面壁大师==]), 信区: InstallBBS
标  题: 小小的修改(看信的bug)[转载]
发信站: 荔园晨风BBS站 (Tue Jul  2 02:57:00 2002), 转信

【 以下文字转载自 SysAdm 讨论区 】
【 原文由 jjksam 所发表 】
以前看信的时候, 如果去了一些只读的版就不能编辑. 现在可以了.

bbs.c

--- bbs.c~      Tue Jul  2 02:40:56 2002
+++ bbs.c       Tue Jul  2 02:27:18 2002
@@ -1677,9 +1677,9 @@
        char   *t;
        extern char currmaildir[STRLEN];

-       if (!strcmp(currboard, "bbslists") || !strcmp(currboard, "deleted") ||
+       if ((!strcmp(currboard, "bbslists") || !strcmp(currboard, "deleted") ||
             !strcmp(currboard, "junk") || !strcmp(currboard, "newcomers") ||
-            !strcmp(currboard, "syssecurity"))
+            !strcmp(currboard, "syssecurity")) && !in_mail)
                                                // ~~~~~~使看信的时候可以编辑
        {
                move(3, 0);
                clrtobot();
@@ -2182,7 +2182,8 @@
 {
        if (a_menusearch("0Announce", currboard, (HAS_PERM(PERM_ANNOUNCE) ||
                                HAS_PERM(PERM_SYSOP) ||
HAS_PERM(PERM_OBOARDS)) ? PERM_BOARDS : 0))
-               return FULLUPDATE;
+//             return FULLUPDATE;
+               return MODECHANGED;
        return DONOTHING;
 }
 #ifdef INTERNET_EMAIL


--- bbs.h~      Fri Apr 12 18:26:45 2002
+++ bbs.h       Tue Jul  2 02:02:53 2002
@@ -220,7 +220,7 @@
 #define READ_PREV       6       /* Direct read prev file */
 #define GOTO_NEXT       7       /* Move cursor to next */
 #define DIRCHANGED      8       /* Index file was changed */
+#define MODECHANGED     9       /* ... */

 #define I_TIMEOUT   (-2)      /* Used for the getchar routine select call */
 #define I_OTHERDATA (-333)    /* interface, (-3) will conflict with chinese */

------------------------------------------------------------------------------

下面这个是FB2k看信的bug:

--- read.c~     Tue Jul  2 01:56:13 2002
+++ read.c      Tue Jul  2 02:07:26 2002
@@ -182,11 +182,12 @@

i_read函数

        extern int friendflag;
        struct keeploc *locmem;
        char    lbuf[11];
+       char    *ptr;
        int     lbc, recbase, mode, ch;
        int     num, entries;
        screen_len = t_lines - 4;
        modify_user_mode(cmdmode);
-       pnt = calloc(screen_len, ssize);
+       ptr = pnt = calloc(screen_len, ssize);
        strcpy(currdirect, direct);
        draw_title(dotitle);
        last_line = get_num_records(currdirect, ssize);



                case NEWDIRECT:
                case DIRCHANGED:
+               case MODECHANGED: // chenhao 解决文章列表看信的问题
                        recbase = -1;
+                       if (mode == MODECHANGED) { // chenhao
+                               setbdir(currdirect, currboard);
+                               pnt = ptr;
+                       }
                        last_line = get_num_records(currdirect, ssize);
                        if (last_line == 0 && digestmode > 0) {



--
   mm       ★__      __  __ __★______ ______ __  __★
/^(  )^\      █      █  █/    █____ █__█ █∨█
\,(..),/  ▅__█  ▅__█  █\__  ▂__█ █  █ █  █
  V~~V   ▇▆▅▃▁I'm a bat. I'm very bad!^Q^_▃▄▆▇ 你好!^_^欢迎大家到linux

※ 修改:·jjksam 於 Jul  2 02:56:28 修改本文·[FROM: 192.168.0.146]
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]


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

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