作者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