summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvictor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2003-10-30 09:48:14 +0800
committervictor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2003-10-30 09:48:14 +0800
commitba0d1c7297bb41f45b93d956317ef06dd2b29cdd (patch)
tree75ada7f72136d02728b611a42ea412768975ea36
parentad0479b532bbc70b35804cce347764dfcc9c6df5 (diff)
downloadpttbbs-ba0d1c7297bb41f45b93d956317ef06dd2b29cdd.tar
pttbbs-ba0d1c7297bb41f45b93d956317ef06dd2b29cdd.tar.gz
pttbbs-ba0d1c7297bb41f45b93d956317ef06dd2b29cdd.tar.bz2
pttbbs-ba0d1c7297bb41f45b93d956317ef06dd2b29cdd.tar.lz
pttbbs-ba0d1c7297bb41f45b93d956317ef06dd2b29cdd.tar.xz
pttbbs-ba0d1c7297bb41f45b93d956317ef06dd2b29cdd.tar.zst
pttbbs-ba0d1c7297bb41f45b93d956317ef06dd2b29cdd.zip
dont mkdir for each login
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@1277 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--mbbsd/mbbsd.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/mbbsd/mbbsd.c b/mbbsd/mbbsd.c
index e419cc1d..e99fa7e5 100644
--- a/mbbsd/mbbsd.c
+++ b/mbbsd/mbbsd.c
@@ -486,12 +486,20 @@ logattempt(char *uid, char type)
}
}
+inline static void mkuserdir(char *userid)
+{
+ char genbuf[200];
+ sethomepath(genbuf, userid);
+ // assume it is a dir, so just check if it is exist
+ if (access(genbuf, F_OK) != 0)
+ mkdir(genbuf, 0755);
+}
+
static void
login_query()
{
char uid[IDLEN + 1], passbuf[PASSLEN];
int attempts;
- char genbuf[200];
resolve_garbage();
now = time(0);
@@ -521,6 +529,7 @@ login_query()
if (strcasecmp(uid, str_new) == 0) {
#ifdef LOGINASNEW
new_register();
+ mkuserdir(cuser.userid);
break;
#else
outs("本系統目前無法以 new 註冊, 請用 guest 進入\n");
@@ -539,23 +548,24 @@ login_query()
outs(ERR_PASSWD);
} else {
logattempt(cuser.userid, ' ');
- if (strcasecmp("SYSOP", cuser.userid) == 0)
+ if (strcasecmp("SYSOP", cuser.userid) == 0){
cuser.userlevel = PERM_BASIC | PERM_CHAT | PERM_PAGE |
PERM_POST | PERM_LOGINOK | PERM_MAILLIMIT |
PERM_CLOAK | PERM_SEECLOAK | PERM_XEMPT |
PERM_DENYPOST | PERM_BM | PERM_ACCOUNTS |
PERM_CHATROOM | PERM_BOARD | PERM_SYSOP | PERM_BBSADM;
+ mkuserdir(cuser.userid);
+ }
break;
}
} else { /* guest */
cuser.userlevel = 0;
cuser.uflag = COLOR_FLAG | PAGER_FLAG | BRDSORT_FLAG | MOVIE_FLAG;
+ mkuserdir(cuser.userid);
break;
}
}
multi_user_check();
- sethomepath(genbuf, cuser.userid);
- mkdir(genbuf, 0755);
}
void