回文章列表
作者allen501pc.bbs@bbs.sa.ncyu.edu.tw (靜養中..) 看板: itoc
標題Re: [問題]功能-文章編輯時無法加分
時間新綠園 (2007/02/26 Mon 02:26:23)
※ 引述《chrisliu.bbs@loli.twbbs.org (ChrisLiu*)》之銘言:
> ───────────────────────────────────────
> ※ 引述《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;
嗯嗯,剛剛有試成功,但是問題來了!!

要是修文途中突然斷線,xmode & POST_NOW_EDIT 會成立,那麼要推文的人永遠都不能

推文了耶 @_@
--
  ╒═╕
  ║  ║║║           過方知
  ╠═╣║║╓═┐╭─╮
  ║  ║║║╠═╜║  ║    過方知
    ║║║╰─╯│  

--
    ╭─ Origin ─╗ 新綠園  bbs.sa.ncyu.edu.tw  ~ κλμ ─┤
    ├   Author   ╡ 220-129-175-6.dynamic.hinet.net       
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻