From b102f5f44888896e44c8af86ec4bf759e2565d85 Mon Sep 17 00:00:00 2001 From: kcwu Date: Wed, 22 Mar 2006 17:57:57 +0000 Subject: Warning, API semantic changes. searchuser() rejects empty userid. git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3294 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/cache.c | 12 +++++++++++- mbbsd/register.c | 4 ++-- 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'mbbsd') diff --git a/mbbsd/cache.c b/mbbsd/cache.c index 8063d80c..2d6fc0dd 100644 --- a/mbbsd/cache.c +++ b/mbbsd/cache.c @@ -192,9 +192,11 @@ remove_from_uhash(int n) #warning "searchuser() average chaining MAX_USERS/(1<hash_head[h]; @@ -210,6 +212,14 @@ searchuser(const char *userid, char *rightid) return 0; } +int +searchuser(const char *userid, char *rightid) +{ + if(userid[0]=='\0') + return 0; + return dosearchuser(userid, rightid); +} + int getuser(const char *userid, userec_t *xuser) { diff --git a/mbbsd/register.c b/mbbsd/register.c index ebfb3bf0..0bb22bda 100644 --- a/mbbsd/register.c +++ b/mbbsd/register.c @@ -143,7 +143,7 @@ setupnewuser(const userec_t *user) clock = now; /* Lazy method : 先找尋已經清除的過期帳號 */ - if ((uid = searchuser("", NULL)) == 0) { + if ((uid = dosearchuser("", NULL)) == 0) { /* 每 1 個小時,清理 user 帳號一次 */ if ((stat(fn_fresh, &st) == -1) || (st.st_mtime < clock - 3600)) { if ((fd = open(fn_fresh, O_RDWR | O_CREAT, 0600)) == -1) @@ -167,7 +167,7 @@ setupnewuser(const userec_t *user) passwd_lock(); - uid = searchuser("", NULL); + uid = dosearchuser("", NULL); if ((uid <= 0) || (uid > MAX_USERS)) { passwd_unlock(); vmsg("抱歉,使用者帳號已經滿了,無法註冊新的帳號"); -- cgit v1.2.3