看板 SetupBBS 關於我們 聯絡資訊
※ 引述《itoc.bbs@bbs.cs.nthu.edu.tw (Query M3)》之銘言: > usr_fpath(fpath, cuser.userid, fn_acct); > - fd = open(fpath, O_WRONLY); > - write(fd, &cuser, sizeof(ACCT)); > - close(fd); > + if ((fd = open(fpath, O_RDWR)) >= 0) > + { > + ACCT tuser; > + if (read(fd, &tuser, sizeof(ACCT)) == sizeof(ACCT)) > + { > /* itoc.010805.注解: 這次的寫回 .ACCT 是為了讓別人 Query 線上使用者時 > 出現的上站時間/來源正確,以及回存正確的 userlvel */ > + tuser.userlevel = cuser.userlevel; > + tuser.lastlogin = start; > + strcpy(tuser.lasthost, cuser.lasthost); 這樣似乎不夠,要寫回的應該還包括: tuser.numlogins = cuser.numlogins; tuser.ufo = cuser.ufo; tuser.tcheck = cuser.tcheck; tuser.tvalid = cuser.tvalid; > + lseek(fd, (off_t) 0, SEEK_SET); > + write(fd, &tuser, sizeof(ACCT)); > + } > + close(fd); -- ※ Origin: 明月水軒 <bbs.hightman.net> ◆ From: 192.168.3.1