看板Maple
标 题Re: 我的最爱问题
发信站清华资讯(枫桥驿站) (Mon May 19 19:31:38 2003)
转信站Ptt!news.cs.nthu!maple
※ 引述《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