From 1510f0750dfbb312e236c7592c042d0caeeeeede Mon Sep 17 00:00:00 2001 From: piaip Date: Sat, 23 May 2009 01:46:46 +0000 Subject: - implement reserve id in a better way git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4462 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/register.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'mbbsd') diff --git a/mbbsd/register.c b/mbbsd/register.c index c5bda783..b06b8400 100644 --- a/mbbsd/register.c +++ b/mbbsd/register.c @@ -110,6 +110,14 @@ removespace(char *s) return index; } +int +reserved_user_id(const char *userid) +{ + if (file_exist_record(FN_RESERVED_ID, userid)) + return 1; + return 0; +} + int bad_user_id(const char *userid) { @@ -124,9 +132,6 @@ bad_user_id(const char *userid) return 1; #endif - if (file_exist_record(FN_RESERVED_ID, userid)) - return 1; - /* in2: 原本是用strcasestr, 不過有些人中間剛剛好出現這個字應該還算合理吧? */ if( strncasecmp(userid, "fuck", 4) == 0 || @@ -717,6 +722,8 @@ new_register(void) if (bad_user_id(passbuf)) outs("無法接受這個代號,請使用英文字母,並且不要包含空格\n"); + else if (reserved_user_id(passbuf)) + outs("此代號已由保留,請使用別的代號\n"); else if ((id = getuser(passbuf, &xuser)) && // >=: see check_and_expire_account definition (minute = check_and_expire_account(id, &xuser, 0)) >= 0) -- cgit v1.2.3