作者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 ˙ ────…‥.‧︰.∵.