summaryrefslogtreecommitdiffstats
path: root/mbbsd/name.c
diff options
context:
space:
mode:
authorwens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2004-12-11 14:22:00 +0800
committerwens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2004-12-11 14:22:00 +0800
commitd119f8212a81355170936d54a78ad125b8003ee0 (patch)
tree06c988ea61196bdc6f9087b782edc0558249e75c /mbbsd/name.c
parent9b1c3c59308cfa4394628e40d354fefed09f949d (diff)
downloadpttbbs-d119f8212a81355170936d54a78ad125b8003ee0.tar
pttbbs-d119f8212a81355170936d54a78ad125b8003ee0.tar.gz
pttbbs-d119f8212a81355170936d54a78ad125b8003ee0.tar.bz2
pttbbs-d119f8212a81355170936d54a78ad125b8003ee0.tar.lz
pttbbs-d119f8212a81355170936d54a78ad125b8003ee0.tar.xz
pttbbs-d119f8212a81355170936d54a78ad125b8003ee0.tar.zst
pttbbs-d119f8212a81355170936d54a78ad125b8003ee0.zip
merge ptt.linux again
WARNING! There are some major differences in SHM_t. All pointers storing offsets in SHM_t have been changed to indexes. When updating to this revision, please rebuild the whole tree and restart the entire BBS system (kill all users first, stop, and start). git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2374 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/name.c')
-rw-r--r--mbbsd/name.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/mbbsd/name.c b/mbbsd/name.c
index 9253a843..0c9009e8 100644
--- a/mbbsd/name.c
+++ b/mbbsd/name.c
@@ -661,13 +661,14 @@ generalnamecomplete(char *prompt, char *data, int len, size_t nmemb,
int
completeboard_compar(int where, char *str, int len)
{
- return strncasecmp(SHM->bsorted[0][where]->brdname, str, len);
+ boardheader_t *bh = &bcache[SHM->bsorted[0][where]];
+ return strncasecmp(bh->brdname, str, len);
}
int
completeboard_permission(int where)
{
- boardheader_t *bptr = SHM->bsorted[0][where];
+ boardheader_t *bptr = &bcache[SHM->bsorted[0][where]];
return (!(bptr->brdattr & BRD_SYMBOLIC) &&
(GROUPOP() || HasPerm(bptr)) &&
!(bptr->brdattr & BRD_GROUPBOARD));
@@ -676,28 +677,29 @@ completeboard_permission(int where)
char *
completeboard_getname(int where)
{
- return SHM->bsorted[0][where]->brdname;
+ return bcache[SHM->bsorted[0][where]].brdname;
}
/* general complete functions (utmpshm) */
int
completeutmp_compar(int where, char *str, int len)
{
- return strncasecmp(SHM->sorted[SHM->currsorted][0][where]->userid,
- str, len);
+ userinfo_t *u = &SHM->uinfo[SHM->sorted[SHM->currsorted][0][where]];
+ return strncasecmp(u->userid, str, len);
}
int
completeutmp_permission(int where)
{
+ userinfo_t *u = &SHM->uinfo[SHM->sorted[SHM->currsorted][0][where]];
return (unlikely(HAS_PERM(PERM_SYSOP)) ||
unlikely(HAS_PERM(PERM_SEECLOAK)) ||
// !SHM->sorted[SHM->currsorted][0][where]->invisible);
- isvisible(currutmp, SHM->sorted[SHM->currsorted][0][where]));
+ isvisible(currutmp, u));
}
char *
completeutmp_getname(int where)
{
- return SHM->sorted[SHM->currsorted][0][where]->userid;
+ return SHM->uinfo[SHM->sorted[SHM->currsorted][0][where]].userid;
}