From 96306001d500d09be6137a22c02f1888936c1adc Mon Sep 17 00:00:00 2001 From: piaip Date: Tue, 4 Dec 2007 18:23:33 +0000 Subject: - fixed N in userlist forgetting to initialize user nickname. git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3631 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/talk.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/mbbsd/talk.c b/mbbsd/talk.c index 32d22a96..b666227a 100644 --- a/mbbsd/talk.c +++ b/mbbsd/talk.c @@ -2940,10 +2940,20 @@ userlist(void) case 'N': if (HasUserPerm(PERM_LOGINOK)) { char tmp_nick[sizeof(cuser.nickname)]; - oldgetdata(1, 0, "·sªº¼ÊºÙ: ", - tmp_nick, sizeof(tmp_nick), DOECHO); - strlcpy(cuser.nickname, tmp_nick, sizeof(cuser.nickname)); - strcpy(currutmp->nickname, cuser.nickname); + // XXX why do so many copy here? + // why not just use cuser.nickname? + // XXX old code forget to initialize. + // will changing to init everytime cause user + // complain? + + strlcpy(tmp_nick, currutmp->nickname, sizeof(cuser.nickname)); + + if (oldgetdata(1, 0, "·sªº¼ÊºÙ: ", + tmp_nick, sizeof(tmp_nick), DOECHO) > 0) + { + strlcpy(cuser.nickname, tmp_nick, sizeof(cuser.nickname)); + strcpy(currutmp->nickname, cuser.nickname); + } redrawall = redraw = 1; } break; -- cgit v1.2.3