Re: 我的最愛問題
※ 引述《binbin (冰冰)》之銘言:
> 前面Jerr大提出weichung大大我的最愛的bug:
> 2)當某看版的閱讀權限改變,我的最愛中的捷徑依然可以使用。
> 3)當看版被刪除或改名後,會在我的最愛中留下不存在的欄位。
> 請問後來有大大解決這兩個問題了嗎 可否提供做法供大家作參考
extern XZ xz[];
extern char xo_pool[];
+ extern char brd_bits[];
: mf_browse()
if (type & MF_BOARD) /* 看板捷徑 */
{
BRD *brd;
int bno;
+ if ((bno = brd_bno(mf->xname)) < 0)
+ {
+ rec_del(xo->dir, sizeof(MF), xo->pos, NULL, NULL);
+ vmsg("本看板已被刪除,系統將自動移除捷徑");
+ return mf_load(xo);
+ }
+ else if (!(brd_bits[bno] & BRD_R_BIT))
+ {
+ rec_del(xo->dir, sizeof(MF), xo->pos, NULL, NULL);
+ vmsg("您沒有權限閱\讀本看板,系統將自動移除捷徑");
+ return mf_load(xo);
+ }
brd = bshm->bcache + bno;
...
...
else if (type & MF_GEM) /* 精華區捷徑 */
{
int bno;
char fpath[64];
+ if ((bno = brd_bno(mf->xname)) < 0)
+ {
+ rec_del(xo->dir, sizeof(MF), xo->pos, NULL, NULL);
+ vmsg("本看板已被刪除,系統將自動移除捷徑");
+ return mf_load(xo);
+ }
+ else if (!(brd_bits[bno] & BRD_R_BIT))
+ {
+ rec_del(xo->dir, sizeof(MF), xo->pos, NULL, NULL);
+ vmsg("您沒有權限閱\讀本看板,系統將自動移除捷徑");
+ return mf_load(xo);
+ }
sprintf(fpath, "gem/brd/%s/.DIR", mf->xname);
==
在進入看板時候才檢查,當然也可以改成在 mf_item() 裡面檢查
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: itoc.Dorm-GD2.NCTU.edu.tw
討論串 (同標題文章)
Maple 近期熱門文章
PTT數位生活區 即時熱門文章