diff options
author | wens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2004-12-11 14:22:00 +0800 |
---|---|---|
committer | wens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2004-12-11 14:22:00 +0800 |
commit | d119f8212a81355170936d54a78ad125b8003ee0 (patch) | |
tree | 06c988ea61196bdc6f9087b782edc0558249e75c /mbbsd/name.c | |
parent | 9b1c3c59308cfa4394628e40d354fefed09f949d (diff) | |
download | pttbbs-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.c | 16 |
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; } |