回文章列表
作者chrisliu.bbs@loli.twbbs.org (ChrisLiu*) 看板: itoc
標題Re: [問題]功能-文章編輯時無法加分
時間蘿莉小站 (2007/02/26 Mon 02:00:31)
※ 引述《allen501pc.bbs@bbs.sa.ncyu.edu.tw (靜養中..)》之銘言:

[deleted]

>   可是不管怎麼弄,一定會進入vedit(fpath,0),所以我在進入之前的那一刻加入
>   hdr->xmode = xmode ^ POST_NOW_EDIT;
>   先鎖住,不管最後有沒有編輯成功,在執行完vedit(fpath,0) 之後馬上解放

  對... 我看錯了...

  所以 你要加入的是

+    hdr->xmode = xmode ^ POST_NOW_EDIT;
+    currchrono = hdr->chrono;
+    rec_put(xo->dir, hdr, sizeof(HDR), xo->key == XZ_XPOST ? hdr->xid : pos,
      cmpchrono); //同行

    if (!vedit(fpath, 0))       /* 若非取消則加上修改資訊 */
    {
      if (fp = fopen(fpath, "a"))
      {
        ve_banner(fp, 1);
        fclose(fp);
      }
    }
+   hdr->xmode=xmode;
+   currchrono = hdr->chrono;
+   rec_put(xo->dir, hdr, sizeof(HDR), xo->key == XZ_XPOST ? hdr->xid : pos,
      cmpchrono); //同行

  這樣應該可以!?

  最前面要改成下面那樣 因為 rec_put 的時候會用到

  那問題就如 weiyu.bbs@muse.twbbs.org 所說的一樣 參考 post_mark 寫回即可

+    int pos, cur, xmode;

+    pos = xo->pos;
+    cur = pos - xo->top;
!    hdr = (HDR *) xo_pool + cur;
+    xmode = hdr->xmode;


--
  果然想睡覺不能亂回文... -_____-"
--
 ˙ chrisliu -- 61-56-149-51-adsl-tao.STATIC.so-net.net.tw    ﹒.˙.
 ˙ 克里斯劉個人站 ˙ loli.twbbs.org ˙ ───…‥.‧︰.∵.
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻