summaryrefslogtreecommitdiffstats
path: root/mbbsd
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2009-05-23 09:46:46 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2009-05-23 09:46:46 +0800
commit1510f0750dfbb312e236c7592c042d0caeeeeede (patch)
tree10731c46b85f25181237f5f975b20a6eff350fff /mbbsd
parent89456a6324f6b596e93879d4decf5a6110688632 (diff)
downloadpttbbs-1510f0750dfbb312e236c7592c042d0caeeeeede.tar
pttbbs-1510f0750dfbb312e236c7592c042d0caeeeeede.tar.gz
pttbbs-1510f0750dfbb312e236c7592c042d0caeeeeede.tar.bz2
pttbbs-1510f0750dfbb312e236c7592c042d0caeeeeede.tar.lz
pttbbs-1510f0750dfbb312e236c7592c042d0caeeeeede.tar.xz
pttbbs-1510f0750dfbb312e236c7592c042d0caeeeeede.tar.zst
pttbbs-1510f0750dfbb312e236c7592c042d0caeeeeede.zip
- implement reserve id in a better way
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4462 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd')
-rw-r--r--mbbsd/register.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/mbbsd/register.c b/mbbsd/register.c
index c5bda783..b06b8400 100644
--- a/mbbsd/register.c
+++ b/mbbsd/register.c
@@ -111,6 +111,14 @@ removespace(char *s)
}
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)
{
if(!is_validuserid(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)